diff options
author | Samuli Piippo <samuli.piippo@qt.io> | 2017-03-15 08:39:13 +0200 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@qt.io> | 2017-03-22 14:07:02 +0000 |
commit | 1d4ab7d047df4e08249b9c3d22bff78c02caf8ed (patch) | |
tree | 51cc88f9a63e854ce3d568319711caddff8c5aed /recipes-qt/qt5/qtwebengine_git.bb | |
parent | b13e04ff53a9b5c232487a61fd0a91073d719dce (diff) | |
download | meta-qt5-1d4ab7d047df4e08249b9c3d22bff78c02caf8ed.tar.gz |
qtwebengine: update to use gn based build system
QtWebEngine switched from gyp to gn when generating ninja files.
Parts of the build need to be done using host toolchain, which
needs to be patched to work with bitbake builds.
Change-Id: I5241f215fbaf49a2dedd8699b7984de33f38b5d3
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'recipes-qt/qt5/qtwebengine_git.bb')
-rw-r--r-- | recipes-qt/qt5/qtwebengine_git.bb | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 9187a331..78a78f8b 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb | |||
@@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = " \ | |||
14 | 14 | ||
15 | DEPENDS += " \ | 15 | DEPENDS += " \ |
16 | ninja-native \ | 16 | ninja-native \ |
17 | yasm-native \ | ||
17 | qtwebchannel \ | 18 | qtwebchannel \ |
18 | qtbase qtdeclarative qtxmlpatterns qtquickcontrols \ | 19 | qtbase qtdeclarative qtxmlpatterns qtquickcontrols \ |
19 | qtlocation \ | 20 | qtlocation \ |
@@ -23,8 +24,8 @@ DEPENDS += " \ | |||
23 | ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ | 24 | ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ |
24 | " | 25 | " |
25 | 26 | ||
26 | DEPENDS += "yasm-native" | ||
27 | EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm GYP_CONFIG+=generate_character_data=0" | 27 | EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm GYP_CONFIG+=generate_character_data=0" |
28 | EXTRA_QMAKEVARS_CONFIGURE += "-feature-system-ninja -no-feature-system-gn" | ||
28 | 29 | ||
29 | # To use system ffmpeg you need to enable also libwebp, opus, vpx | 30 | # To use system ffmpeg you need to enable also libwebp, opus, vpx |
30 | # Only depenedencies available in oe-core are enabled by default | 31 | # Only depenedencies available in oe-core are enabled by default |
@@ -61,35 +62,33 @@ def gettext_oeconf(d): | |||
61 | require qt5.inc | 62 | require qt5.inc |
62 | require qt5-git.inc | 63 | require qt5-git.inc |
63 | 64 | ||
64 | export NINJA_PATH="${STAGING_BINDIR_NATIVE}/ninja" | ||
65 | |||
66 | do_configure() { | 65 | do_configure() { |
67 | # replace LD with CXX, to workaround a possible gyp inheritssue? | ||
68 | export LD="${CXX}" | ||
69 | export CC="${CC}" | ||
70 | export CXX="${CXX}" | ||
71 | export CC_host="gcc" | ||
72 | export CXX_host="g++" | ||
73 | export QMAKE_MAKE_ARGS="${EXTRA_OEMAKE}" | ||
74 | export QMAKE_CACHE_EVAL="${PACKAGECONFIG_CONFARGS}" | ||
75 | |||
76 | # Disable autodetection from sysroot: | 66 | # Disable autodetection from sysroot: |
77 | sed -i 's/packagesExist([^)]*vpx[^)]*):/false:/g; s/config_libvpx:/false:/g; s/config_srtp:/false:/g; s/config_snappy:/false:/g; s/packagesExist(nss):/false:/g; s/packagesExist(minizip, zlib):/false:/g; s/packagesExist(libwebp,libwebpdemux):/false:/g; s/packagesExist(libxml-2.0,libxslt):/false:/g; s/^ *packagesExist($$package):/false:/g' ${S}/tools/qmake/mkspecs/features/configure.prf | 67 | sed -e 's/packagesExist([^)]*vpx[^)]*):/false:/g'\ |
68 | -e 's/config_libvpx:/false:/g' \ | ||
69 | -e 's/config_srtp:/false:/g' \ | ||
70 | -e 's/config_snappy:/false:/g' \ | ||
71 | -e 's/packagesExist(nss):/false:/g' \ | ||
72 | -e 's/packagesExist(minizip, zlib):/false:/g' \ | ||
73 | -e 's/packagesExist(libwebp,libwebpdemux):/false:/g' \ | ||
74 | -e 's/packagesExist(libxml-2.0,libxslt):/false:/g'\ | ||
75 | -e 's/^ *packagesExist($$package):/false:/g' \ | ||
76 | -i ${S}/tools/qmake/mkspecs/features/configure.prf | ||
78 | 77 | ||
79 | # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as | 78 | # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as |
80 | # arguments here | 79 | # arguments here |
81 | ${OE_QMAKE_QMAKE} -r ${EXTRA_QMAKEVARS_PRE} ${S} \ | 80 | ${OE_QMAKE_QMAKE} ${EXTRA_QMAKEVARS_PRE} ${S} \ |
82 | QMAKE_CXX="${OE_QMAKE_CXX}" QMAKE_CC="${OE_QMAKE_CC}" \ | 81 | QMAKE_CXX="${OE_QMAKE_CXX}" \ |
82 | QMAKE_CC="${OE_QMAKE_CC}" \ | ||
83 | QMAKE_LINK="${OE_QMAKE_LINK}" \ | 83 | QMAKE_LINK="${OE_QMAKE_LINK}" \ |
84 | QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \ | 84 | QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \ |
85 | QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \ | 85 | QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \ |
86 | QMAKE_AR="${OE_QMAKE_AR} cqs" \ | 86 | -after ${EXTRA_QMAKEVARS_POST} -- \ |
87 | -after ${EXTRA_QMAKEVARS_POST} | 87 | ${EXTRA_QMAKEVARS_CONFIGURE} |
88 | } | 88 | } |
89 | 89 | ||
90 | do_install_append() { | 90 | do_install_append() { |
91 | rmdir ${D}${OE_QMAKE_PATH_PLUGINS}/${BPN} ${D}${OE_QMAKE_PATH_PLUGINS} || true | 91 | sed -i 's@ -Wl,--start-group.*-Wl,--end-group@@g; s@[^ ]*${B}[^ ]* @@g' ${D}${libdir}/pkgconfig/Qt5WebEngineCore.pc |
92 | sed -i 's@ -Wl,--start-group.*-Wl,--end-group@@g; s@-L${B}[^ ]* @ @g' ${D}${libdir}/pkgconfig/Qt5WebEngineCore.pc | ||
93 | } | 92 | } |
94 | PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" | 93 | PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" |
95 | 94 | ||
@@ -102,7 +101,7 @@ RDEPENDS_${PN}-examples += " \ | |||
102 | qtdeclarative-qmlplugins \ | 101 | qtdeclarative-qmlplugins \ |
103 | " | 102 | " |
104 | 103 | ||
105 | QT_MODULE_BRANCH_CHROMIUM = "53-based" | 104 | QT_MODULE_BRANCH_CHROMIUM = "55-based" |
106 | 105 | ||
107 | SRC_URI += " \ | 106 | SRC_URI += " \ |
108 | ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ | 107 | ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ |
@@ -111,12 +110,12 @@ SRC_URI += " \ | |||
111 | file://0003-functions.prf-allow-build-for-linux-oe-g-platform.patch \ | 110 | file://0003-functions.prf-allow-build-for-linux-oe-g-platform.patch \ |
112 | file://0004-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch \ | 111 | file://0004-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch \ |
113 | file://0005-Include-dependency-to-QCoreApplication-translate.patch \ | 112 | file://0005-Include-dependency-to-QCoreApplication-translate.patch \ |
114 | file://0001-chromium-base.gypi-include-atomicops_internals_x86_g.patch \ | ||
115 | file://0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch \ | 113 | file://0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch \ |
114 | file://0001-Force-host-toolchain-configuration.patch \ | ||
116 | " | 115 | " |
117 | 116 | ||
118 | SRCREV_qtwebengine = "cd475d5727becd6ec4e7605d335721355e049354" | 117 | SRCREV_qtwebengine = "29afdb0a34e425728ccf85b8421e9b1aadb22f45" |
119 | SRCREV_chromium = "cd3417bc8b5bae4cdc04a9dd714adadacc03b28d" | 118 | SRCREV_chromium = "049134677a607781ab9508e7b769b2055d714543" |
120 | SRCREV = "${SRCREV_qtwebengine}" | 119 | SRCREV = "${SRCREV_qtwebengine}" |
121 | 120 | ||
122 | SRCREV_FORMAT = "qtwebengine_chromium" | 121 | SRCREV_FORMAT = "qtwebengine_chromium" |