summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@gmail.com>2018-06-05 00:39:11 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2018-06-05 13:50:55 +0000
commit29445f6e37a669276d28b96e07d6f80443f244b8 (patch)
tree1ae05a29a2bb1df43ec3e3cf5ed170c64d6e5f70
parentdde9b55a24a364c5fede0d6c874890acb0251386 (diff)
downloadmeta-qt5-29445f6e37a669276d28b96e07d6f80443f244b8.tar.gz
qtwebkit: do not skip build - use cmake as build system
log.do_configure says: | The WebKit build was disabled for the following reasons: | * cross-compilation of QtWebKit with qmake is not supported yet | * Missing cmake from PATH | * Using cmake version , but at least cmake 2.8.12 is required to build QtWebKit. and build was finished without errors (but surprisingly fast). Looking into qtwebkit, it seems they have changed to cmake build system and Webkit.pro is just a wrapper for preparing and running cmake. For the transition the packageconfigs were translated as close as possible. 'libxcomposite' and 'libxrender' were merged to 'x11' - there is only one option 'ENABLE_X11_TARGET' available for both. Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch31
-rw-r--r--recipes-qt/qt5/qtwebkit_git.bb51
2 files changed, 54 insertions, 28 deletions
diff --git a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch
new file mode 100644
index 00000000..dac4815c
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch
@@ -0,0 +1,31 @@
1From d9f4d11ffdf1e8b5485aefc3556b1bef3e009587 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3Date: Mon, 4 Jun 2018 10:35:46 +0200
4Subject: [PATCH] Do not skip build for cross-compile
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream-Status: Inappropriate [OE specific]
10
11Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
12---
13 Tools/qmake/mkspecs/features/functions.prf | 2 --
14 1 file changed, 2 deletions(-)
15
16diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf
17index e3f42cec4..797b7085f 100644
18--- a/Tools/qmake/mkspecs/features/functions.prf
19+++ b/Tools/qmake/mkspecs/features/functions.prf
20@@ -53,8 +53,6 @@ defineReplace(appleSdkVersion) {
21 defineTest(isPlatformSupported) {
22 !qtHaveModule(widgets): skipBuild("QtWidgets module is required to build QtWebKit.")
23
24- cross_compile: skipBuild("cross-compilation of QtWebKit with qmake is not supported yet")
25-
26 requiredPrograms = cmake gperf python perl bison ruby flex
27 for(program, requiredPrograms): \
28 !programExistsInPath($$program): \
29--
302.14.3
31
diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb
index 36c967f4..0cf68cac 100644
--- a/recipes-qt/qt5/qtwebkit_git.bb
+++ b/recipes-qt/qt5/qtwebkit_git.bb
@@ -1,6 +1,8 @@
1require qt5.inc 1require qt5.inc
2require qt5-git.inc 2require qt5-git.inc
3 3
4SRC_URI += "file://0001-Do-not-skip-build-for-cross-compile.patch"
5
4LICENSE = "BSD & LGPLv2+ | GPL-2.0" 6LICENSE = "BSD & LGPLv2+ | GPL-2.0"
5LIC_FILES_CHKSUM = " \ 7LIC_FILES_CHKSUM = " \
6 file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \ 8 file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \
@@ -9,6 +11,8 @@ LIC_FILES_CHKSUM = " \
9 11
10DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native" 12DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native"
11 13
14inherit cmake_qt5 perlnative pythonnative
15
12# qemuarm build fails with: 16# qemuarm build fails with:
13# | {standard input}: Assembler messages: 17# | {standard input}: Assembler messages:
14# | {standard input}:106: Error: invalid immediate: 983040 is out of range 18# | {standard input}:106: Error: invalid immediate: 983040 is out of range
@@ -24,41 +28,32 @@ ARM_INSTRUCTION_SET_armv7a = "thumb"
24ARM_INSTRUCTION_SET_armv7r = "thumb" 28ARM_INSTRUCTION_SET_armv7r = "thumb"
25ARM_INSTRUCTION_SET_armv7ve = "thumb" 29ARM_INSTRUCTION_SET_armv7ve = "thumb"
26 30
27PACKAGECONFIG ??= "gstreamer qtlocation qtmultimedia qtsensors qtwebchannel \ 31EXTRA_OECMAKE = " \
28 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite libxrender', '', d)} \ 32 -DPORT=Qt \
29 fontconfig \ 33 -DECM_MKSPECS_INSTALL_DIR=${libdir}${QT_DIR_NAME}/mkspecs/modules \
34 -DQML_INSTALL_DIR=${OE_QMAKE_PATH_QML} \
30" 35"
31PACKAGECONFIG[gstreamer] = "OE_GSTREAMER_ENABLED,,gstreamer1.0 gstreamer1.0-plugins-base"
32PACKAGECONFIG[gstreamer010] = "OE_GSTREAMER010_ENABLED,,gstreamer gst-plugins-base"
33PACKAGECONFIG[qtlocation] = "OE_QTLOCATION_ENABLED,,qtlocation"
34PACKAGECONFIG[qtmultimedia] = "OE_QTMULTIMEDIA_ENABLED,,qtmultimedia"
35PACKAGECONFIG[qtsensors] = "OE_QTSENSORS_ENABLED,,qtsensors"
36PACKAGECONFIG[qtwebchannel] = "OE_QTWEBCHANNEL_ENABLED,,qtwebchannel"
37PACKAGECONFIG[libwebp] = "OE_LIBWEBP_ENABLED,,libwebp"
38PACKAGECONFIG[libxcomposite] = "OE_LIBXCOMPOSITE_ENABLED,,libxcomposite"
39PACKAGECONFIG[libxrender] = "OE_LIBXRENDER_ENABLED,,libxrender"
40PACKAGECONFIG[fontconfig] = "OE_FONTCONFIG_ENABLED,,fontconfig"
41
42do_configure_prepend() {
43 export QMAKE_CACHE_EVAL="CONFIG+=${PACKAGECONFIG_CONFARGS}"
44}
45 36
46# Forcibly enable ICU, so qtbase doesn't need it. 37PACKAGECONFIG ??= "qtlocation qtmultimedia qtsensors qtwebchannel \
47EXTRA_QMAKEVARS_PRE += "QT_CONFIG+=icu" 38 ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
39 fontconfig \
40"
48 41
49# qtwebkit gets terribly big when linking with all debug info, disable by default 42# gstreamer conflicts with qtmultimedia!
50QTWEBKIT_DEBUG = "QMAKE_CFLAGS+=-g0 QMAKE_CXXFLAGS+=-g0" 43PACKAGECONFIG[gstreamer] = "-DUSE_GSTREAMER=ON,-DUSE_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
51EXTRA_QMAKEVARS_PRE += "${QTWEBKIT_DEBUG}" 44PACKAGECONFIG[qtlocation] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,qtlocation"
45PACKAGECONFIG[qtmultimedia] = "-DUSE_QT_MULTIMEDIA=ON,-DUSE_QT_MULTIMEDIA=OFF,qtmultimedia"
46PACKAGECONFIG[qtsensors] = "-DENABLE_DEVICE_ORIENTATION=ON,-DENABLE_DEVICE_ORIENTATION=OFF,qtsensors"
47PACKAGECONFIG[qtwebchannel] = "-DENABLE_QT_WEBCHANNEL=ON,-DENABLE_QT_WEBCHANNEL=OFF,qtwebchannel"
48PACKAGECONFIG[libwebp] = ",,libwebp"
49PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,libxcomposite libxrender"
50PACKAGECONFIG[fontconfig] = "-DENABLE_TEST_SUPPORT=ON,-DENABLE_TEST_SUPPORT=OFF,fontconfig"
51# hyphen is only in meta-office currently!
52PACKAGECONFIG[hyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,hyphen"
52 53
53# remove default ${PN}-examples* set in qt5.inc, because they conflicts with ${PN} from separate webkit-examples recipe 54# remove default ${PN}-examples* set in qt5.inc, because they conflicts with ${PN} from separate webkit-examples recipe
54PACKAGES_remove = "${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-dbg ${PN}-examples" 55PACKAGES_remove = "${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-dbg ${PN}-examples"
55 56
56# make sure rb files are used from sysroot, not from host
57# ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/`
58# we need to replace it too (a bit longer version without importing re)
59RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }"
60export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}"
61
62QT_MODULE_BRANCH = "dev" 57QT_MODULE_BRANCH = "dev"
63 58
64SRCREV = "beaeeb99881184fd368c121fcbb1a31c78b794a3" 59SRCREV = "beaeeb99881184fd368c121fcbb1a31c78b794a3"