[oe] [meta-qt5][PATCH] qtwebengine: backport patches to fix ARM build failures

Martin Jansa martin.jansa at gmail.com
Sat Oct 18 09:06:24 UTC 2014


On Thu, Oct 16, 2014 at 03:44:05PM +1100, Jonathan Liu wrote:
> Signed-off-by: Jonathan Liu <net147 at gmail.com>
> ---
>  ...ix-ARM-NEON-detection-for-mfpu-neon-vfpv4.patch | 30 +++++++++++++++++++
>  ...QMAKE_CC-when-extracting-C-compiler-flags.patch | 34 ++++++++++++++++++++++
>  recipes-qt/qt5/qtwebengine_5.3.2+git.bb            |  2 ++
>  recipes-qt/qt5/qtwebengine_git.bb                  |  2 ++
>  4 files changed, 68 insertions(+)
>  create mode 100644 recipes-qt/qt5/qtwebengine/0001-Fix-ARM-NEON-detection-for-mfpu-neon-vfpv4.patch
>  create mode 100644 recipes-qt/qt5/qtwebengine/0002-Include-QMAKE_CC-when-extracting-C-compiler-flags.patch

This seems to break qemuarm build:

| No external chromium sources were found, falling back to /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtwebengine/5.3.2-r0/git/sr
c/3rdparty/chromium
| Using extra options found in /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtwebengine/5.3.2-r0/git/src/core/qmake_extras.gypi
| Using extra options found in /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtwebengine/5.3.2-r0/git/src/core/qtwebengine_extras.gy
pi                                                                                                                                          
| Updating projects from gyp files...                                                                                                       
| gyp: name 'arm_tune' is not defined while evaluating condition 'arm_tune!=""' in /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtw
ebengine/5.3.2-r0/git/src/core/core.gyp
| Project ERROR: -- running gyp_qtwebengine failed --                                                                                       
| WARNING: exit code 3 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtwebengine/5.3.2-r0/te
mp/log.do_configure.30039)
NOTE: recipe qtwebengine-5.3.2-r0: task do_configure: Failed



> 
> diff --git a/recipes-qt/qt5/qtwebengine/0001-Fix-ARM-NEON-detection-for-mfpu-neon-vfpv4.patch b/recipes-qt/qt5/qtwebengine/0001-Fix-ARM-NEON-detection-for-mfpu-neon-vfpv4.patch
> new file mode 100644
> index 0000000..f0b8d1a
> --- /dev/null
> +++ b/recipes-qt/qt5/qtwebengine/0001-Fix-ARM-NEON-detection-for-mfpu-neon-vfpv4.patch
> @@ -0,0 +1,30 @@
> +From 6b64f42363308a80044cc85ae8ba6c9bf1aac8a7 Mon Sep 17 00:00:00 2001
> +From: Jonathan Liu <net147 at gmail.com>
> +Date: Wed, 15 Oct 2014 17:02:16 +1100
> +Subject: [PATCH 1/2] Fix ARM NEON detection for -mfpu=neon-vfpv4
> +
> +Upstream-Status: Backport
> +
> +Change-Id: I972d3560d6aa2640a2702f219cf802d2476b1c6e
> +Reviewed-by: Andras Becsi <andras.becsi at digia.com>
> +Signed-off-by: Jonathan Liu <net147 at gmail.com>
> +---
> + src/core/gyp_run.pro | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
> +index f79972a..026e3a2 100644
> +--- a/src/core/gyp_run.pro
> ++++ b/src/core/gyp_run.pro
> +@@ -69,7 +69,7 @@ cross_compile {
> +             # If the toolchain does not explicitly specify to use NEON instructions
> +             # we use arm_neon_optional for ARMv7 and newer and let chromium decide
> +             # about the mfpu option.
> +-            contains(MFPU, "neon"): GYP_ARGS += "-D arm_fpu=\"$$MFPU\" -D arm_neon=1"
> ++            contains(MFPU, "neon")|contains(MFPU, "neon-vfpv4"): GYP_ARGS += "-D arm_fpu=\"$$MFPU\" -D arm_neon=1"
> +             else:!lessThan(MARMV, 7): GYP_ARGS += "-D arm_neon=0 -D arm_neon_optional=1"
> +             else: GYP_ARGS += "-D arm_fpu=\"$$MFPU\" -D arm_neon=0 -D arm_neon_optional=0"
> +         }
> +-- 
> +2.1.2
> +
> diff --git a/recipes-qt/qt5/qtwebengine/0002-Include-QMAKE_CC-when-extracting-C-compiler-flags.patch b/recipes-qt/qt5/qtwebengine/0002-Include-QMAKE_CC-when-extracting-C-compiler-flags.patch
> new file mode 100644
> index 0000000..01f8d2e
> --- /dev/null
> +++ b/recipes-qt/qt5/qtwebengine/0002-Include-QMAKE_CC-when-extracting-C-compiler-flags.patch
> @@ -0,0 +1,34 @@
> +From 98a079fcf7e12d17414ef27289a03cfb923be7a5 Mon Sep 17 00:00:00 2001
> +From: Jonathan Liu <net147 at gmail.com>
> +Date: Wed, 15 Oct 2014 17:01:06 +1100
> +Subject: [PATCH 2/2] Include QMAKE_CC when extracting C compiler flags
> +
> +This fixes cross-compile settings detection for cross-compilation
> +environments where the C compiler cross-compilation flags are set in
> +CC/QMAKE_CC instead of CFLAGS/QMAKE_CFLAGS (e.g. OpenEmbedded).
> +
> +Upstream-Status: Backport
> +
> +Change-Id: I0a7b0f6c47a00775ec18073a16359c8351363285
> +Reviewed-by: Andras Becsi <andras.becsi at digia.com>
> +Signed-off-by: Jonathan Liu <net147 at gmail.com>
> +---
> + tools/qmake/mkspecs/features/functions.prf | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
> +index 789af9a..06713d4 100644
> +--- a/tools/qmake/mkspecs/features/functions.prf
> ++++ b/tools/qmake/mkspecs/features/functions.prf
> +@@ -35,7 +35,7 @@ defineReplace(getChromiumSrcDir) {
> + }
> + 
> + defineReplace(extractCFlag) {
> +-    CFLAGS = $$QMAKE_CFLAGS
> ++    CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS
> +     !isEmpty(ANDROID_TARGET_CFLAGS): CFLAGS = $$ANDROID_TARGET_CFLAGS
> +     OPTION = $$find(CFLAGS, $$1)
> +     OPTION = $$split(OPTION, =)
> +-- 
> +2.1.2
> +
> diff --git a/recipes-qt/qt5/qtwebengine_5.3.2+git.bb b/recipes-qt/qt5/qtwebengine_5.3.2+git.bb
> index c9a6ea4..57469d0 100644
> --- a/recipes-qt/qt5/qtwebengine_5.3.2+git.bb
> +++ b/recipes-qt/qt5/qtwebengine_5.3.2+git.bb
> @@ -21,6 +21,8 @@ SRC_URI = " \
>      file://0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch \
>      file://0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch \
>      file://0003-chromium-base.gypi-include-atomicops_internals_x86_gcc.cc-whe.patch \
> +    file://0001-Fix-ARM-NEON-detection-for-mfpu-neon-vfpv4.patch \
> +    file://0002-Include-QMAKE_CC-when-extracting-C-compiler-flags.patch \
>  "
>  SRCREV_qtwebengine = "21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b"
>  SRCREV_chromium = "1f3cc8c2618979b557d60ef1ad984a49dca83bff"
> diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
> index 360a1c8..ee7a83c 100644
> --- a/recipes-qt/qt5/qtwebengine_git.bb
> +++ b/recipes-qt/qt5/qtwebengine_git.bb
> @@ -16,6 +16,8 @@ SRC_URI = " \
>      file://0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch \
>      file://0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch \
>      file://0003-chromium-base.gypi-include-atomicops_internals_x86_gcc.cc-whe.patch \
> +    file://0001-Fix-ARM-NEON-detection-for-mfpu-neon-vfpv4.patch \
> +    file://0002-Include-QMAKE_CC-when-extracting-C-compiler-flags.patch \
>  "
>  SRCREV_qtwebengine = "4ffc07ddb8739da9e94a2b23b03c63fd7b74c09a"
>  SRCREV_chromium = "1f3cc8c2618979b557d60ef1ad984a49dca83bff"
> -- 
> 2.1.2
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20141018/f0affce3/attachment-0002.sig>


More information about the Openembedded-devel mailing list