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

Martin Jansa martin.jansa at gmail.com
Sat Oct 18 11:17:21 UTC 2014


On Sat, Oct 18, 2014 at 11:06:24AM +0200, Martin Jansa wrote:
> 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

Probably fixed in

commit 1cbb91b4a06d6e6626c5345d5a9d7d0fbe9e1bbb
Author: Andras Becsi <andras.becsi at digia.com>
Date:   Thu Sep 18 18:22:37 2014 +0200

    Set arm_tune to empty string if mtune flag is not set by toolchain

which needs to be backported to qtwebengine_5.3.2+git.bb

Please re-test and re-send, I'm upgrading _git recipes to 5.4-beta in
the mean time so the backport won't be needed in qtwebengine_git.bb.

> > 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



-- 
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/1012b977/attachment-0002.sig>


More information about the Openembedded-devel mailing list