summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtwebengine_git.bb
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2017-03-15 08:39:13 +0200
committerSamuli Piippo <samuli.piippo@qt.io>2017-03-22 14:07:02 +0000
commit1d4ab7d047df4e08249b9c3d22bff78c02caf8ed (patch)
tree51cc88f9a63e854ce3d568319711caddff8c5aed /recipes-qt/qt5/qtwebengine_git.bb
parentb13e04ff53a9b5c232487a61fd0a91073d719dce (diff)
downloadmeta-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.bb45
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
15DEPENDS += " \ 15DEPENDS += " \
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
26DEPENDS += "yasm-native"
27EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm GYP_CONFIG+=generate_character_data=0" 27EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm GYP_CONFIG+=generate_character_data=0"
28EXTRA_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):
61require qt5.inc 62require qt5.inc
62require qt5-git.inc 63require qt5-git.inc
63 64
64export NINJA_PATH="${STAGING_BINDIR_NATIVE}/ninja"
65
66do_configure() { 65do_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
90do_install_append() { 90do_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}
94PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" 93PACKAGE_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
105QT_MODULE_BRANCH_CHROMIUM = "53-based" 104QT_MODULE_BRANCH_CHROMIUM = "55-based"
106 105
107SRC_URI += " \ 106SRC_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
118SRCREV_qtwebengine = "cd475d5727becd6ec4e7605d335721355e049354" 117SRCREV_qtwebengine = "29afdb0a34e425728ccf85b8421e9b1aadb22f45"
119SRCREV_chromium = "cd3417bc8b5bae4cdc04a9dd714adadacc03b28d" 118SRCREV_chromium = "049134677a607781ab9508e7b769b2055d714543"
120SRCREV = "${SRCREV_qtwebengine}" 119SRCREV = "${SRCREV_qtwebengine}"
121 120
122SRCREV_FORMAT = "qtwebengine_chromium" 121SRCREV_FORMAT = "qtwebengine_chromium"