diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
index d1867ada9edce12dc6433ac480309c8c7b65f75f..dd820f6b5c66dbf482a6c876ac328d5ee7481170 100644
--- a/src/core/gyp_run.pro
+++ b/src/core/gyp_run.pro
@@ -25,6 +25,10 @@ cross_compile {
                     "-D android_ndk_root=\"$${TOOLCHAIN_SYSROOT}\" -D android_product_out=\"$${ANDROID_PRODUCT_OUT}\""
     }
 
+    linux {
+        GYP_ARGS += "-D qt_os=\"embedded_linux\""
+    }
+
     !isEmpty(TOOLCHAIN_SYSROOT): GYP_ARGS += "-D sysroot=\"$${TOOLCHAIN_SYSROOT}\""
 
     contains(QT_ARCH, "arm") {
diff --git a/src/core/qtwebengine.gypi b/src/core/qtwebengine.gypi
index 801b8926da9bd80a64443f3d89de3b76eedbac36..0e1ab52b2a7bc923918e58c84cf4c761f42a1201 100644
--- a/src/core/qtwebengine.gypi
+++ b/src/core/qtwebengine.gypi
@@ -46,7 +46,17 @@
           '<(chromium_src_dir)/base/allocator/allocator.gyp:allocator',
         ],
       }],
-      ['_toolset=="target" and qt_os=="android"', {
+      # android and embedded_linux need some special flags.
+      ['qt_os=="embedded_linux" or qt_os=="android"', {
+        'conditions': [
+          ['qt_os=="android"', {
+            'dependencies': [
+              '<(chromium_src_dir)/third_party/ashmem/ashmem.gyp:ashmem',
+              '<(chromium_src_dir)/third_party/freetype/freetype.gyp:ft2',
+              '<(chromium_src_dir)/third_party/android_tools/ndk/android_tools_ndk.gyp:cpu_features',
+            ],
+          }],
+        ],
         'configurations': {
           'Debug_Base': {
             # Reduce the binary size.
@@ -68,11 +78,6 @@
             ],
           },
         },
-        'dependencies': [
-          '<(chromium_src_dir)/third_party/ashmem/ashmem.gyp:ashmem',
-          '<(chromium_src_dir)/third_party/freetype/freetype.gyp:ft2',
-          '<(chromium_src_dir)/third_party/android_tools/ndk/android_tools_ndk.gyp:cpu_features',
-        ],
       }],
       ['OS=="win"', {
         'resource_include_dirs': [