summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2016-09-07 10:06:40 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2016-09-30 09:03:09 +0000
commit9195d9dc805fd3132023ff33bc77ace1f3f7e40f (patch)
treedeb85ffd58ce712d2ff0b5b5d49ec496232dfcc9 /recipes-qt/qt5/qtbase
parentd7ebb6ce9b49eb52c325e73d92157d874e9cf907 (diff)
downloadmeta-qt5-9195d9dc805fd3132023ff33bc77ace1f3f7e40f.tar.gz
qt5: update to Qt 5.8
The linux-oe-g++ mkspec is changed to use $$(...) operator to obtain the contents of an environment value when qmake is run instead of when Makefile is processed. All OE_QMAKE_xxx variables need to be exported for qmake to find them. configure's setBootstrapVariable function needs to change $$(..) to normal $(...) operator to work with qmake's Makefile. qt.conf generation for qtbase recipes is not needed, as configure will generate its own version based on configure arguments. Skip running qmake, since configure is now automatically invoked when it's run in qtbase's root folder. Change-Id: I4c937c1acb3d204ac4560090cab3d0fc7e0e815a Reviewed-by: Risto Avila <risto.avila@qt.io> Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Diffstat (limited to 'recipes-qt/qt5/qtbase')
-rw-r--r--recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch204
-rw-r--r--recipes-qt/qt5/qtbase/0002-configure-Separate-host-and-build-platform.patch55
-rw-r--r--recipes-qt/qt5/qtbase/0002-configure-force-cross_compile.patch32
-rw-r--r--recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch10
-rw-r--r--recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch18
-rw-r--r--recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch95
-rw-r--r--recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch33
-rw-r--r--recipes-qt/qt5/qtbase/0013-Use-pkgconfig-to-configure-freetype2.patch25
8 files changed, 123 insertions, 349 deletions
diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
index 43ce9bf2..5f703dac 100644
--- a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
+++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
@@ -1,4 +1,4 @@
1From d6c75f788e15fb552eacb08359698a1342a97f20 Mon Sep 17 00:00:00 2001 1From 93c50c089f2f6d7aa1cd947386813e368100c3c6 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Mon, 15 Apr 2013 04:29:32 +0200 3Date: Mon, 15 Apr 2013 04:29:32 +0200
4Subject: [PATCH] Add linux-oe-g++ platform 4Subject: [PATCH] Add linux-oe-g++ platform
@@ -7,172 +7,55 @@ Subject: [PATCH] Add linux-oe-g++ platform
7 shell environment, because it's easier for qt recipes to export 7 shell environment, because it's easier for qt recipes to export
8 *FLAGS or CC specific for given recipe 8 *FLAGS or CC specific for given recipe
9 9
10* configure: add getQEvalMakeConf and getXQEvalMakeConf 10* configure: extend setBootstrapVariable to convert $$(...) operator
11 Allow expansion of $(...) references from qmake.conf to generate 11 to $(...) operator to work in qmake's Makefiles
12 qmake environment from shell environment as exported by qmake5_base
13
14* configure: don't export SYSTEM_VARIABLES to .qmake.vars
15 linux-oe-g++ should handle this correctly and exporting LD as QMAKE_LINK is
16 causing issues as we need g++ to be used as linker
17 12
18* configure.prf: Allow to add extra arguments to make 13* configure.prf: Allow to add extra arguments to make
19 sometimes we would like to add -e or define some variable and respect it from both 14 sometimes we would like to add -e or define some variable and respect it from both
20 Makefiles used in configure tests and also Makefiles to build the application 15 Makefiles used in configure tests and also Makefiles to build the application
21 16
22* OE_QMAKE_CXX in order to allow compiler version check to succeed
23 which allows WebKit to be enabled.
24
25* Other variables in order to let config.tests to use our -platform
26 settings
27
28* Add setBootstrapEvalVariable to bootstrap qmake with our environment
29 too, this allows us to use -platform linux-oe-g++ also for native
30 recipe
31
32* disable gdb_dwarf_index
33 * qmake is trying to call native gdb and we don't depend on gdb-native
34 (or even provide gdb-native)
35 * fixes errors like this:
36 /bin/sh: gdb: command not found
37 /bin/sh: line 0: test: -gt: unary operator expected
38 which are not fatal, but still misleading in do_configure output
39
40Upstream-Status: Inappropriate [embedded specific] 17Upstream-Status: Inappropriate [embedded specific]
41 too OE specific, probably cannot be upstreamed 18 too OE specific, probably cannot be upstreamed
42 19
43Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c 20Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c
44Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 21Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
45--- 22---
46 configure | 55 ++++++++++++------- 23 configure | 2 +-
47 mkspecs/features/configure.prf | 4 +- 24 mkspecs/features/configure.prf | 4 +-
48 mkspecs/linux-oe-g++/qmake.conf | 42 +++++++++++++++ 25 mkspecs/features/qt_functions.prf | 2 +-
26 mkspecs/linux-oe-g++/qmake.conf | 43 +++++++++++++++
49 mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++ 27 mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++
50 4 files changed, 181 insertions(+), 20 deletions(-) 28 mkspecs/oe-device-extra.pri | 0
29 6 files changed, 147 insertions(+), 4 deletions(-)
51 create mode 100644 mkspecs/linux-oe-g++/qmake.conf 30 create mode 100644 mkspecs/linux-oe-g++/qmake.conf
52 create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h 31 create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h
32 create mode 100644 mkspecs/oe-device-extra.pri
53 33
54diff --git a/configure b/configure 34diff --git a/configure b/configure
55index 0ba0c31..052872e 100755 35index 789ba4c..269f69d 100755
56--- a/configure 36--- a/configure
57+++ b/configure 37+++ b/configure
58@@ -333,6 +333,16 @@ getQMakeConf() 38@@ -1624,7 +1624,7 @@ fi
59 getSingleQMakeVariable "$1" "$specvals" 39 # is where the resulting variable is written to
60 } 40 setBootstrapVariable()
61
62+# OE qmake.conf is reading some variables from shell env
63+# read them from qmake.conf, replace qmake () syntax with shell and eval
64+getQEvalMakeConf()
65+{
66+ VAL=`getQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
67+ EVAL=`eval "echo ${VAL}"`
68+# echo "Running getQEvalMakeConf: var='$1', val='`getQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2
69+ eval "echo ${VAL}"
70+}
71+
72 getXQMakeConf()
73 {
74 if [ -z "$xspecvals" ]; then
75@@ -357,6 +367,16 @@ testXConfig()
76 esac
77 }
78
79+# OE qmake.conf is reading some variables from shell env
80+# read them from qmake.conf, replace qmake () syntax with shell and eval
81+getXQEvalMakeConf()
82+{
83+ VAL=`getXQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
84+ EVAL=`eval "echo ${VAL}"`
85+# echo "Running getXQEvalMakeConf: var='$1', val='`getXQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2
86+ eval "echo ${VAL}"
87+}
88+
89 compilerSupportsFlag()
90 { 41 {
91 cat >conftest.cpp <<EOF 42- getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
92@@ -578,24 +598,14 @@ fi 43+ getQMakeConf "$1" | sed 's:\$\$(:\$(:' | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
93 # initalize variables
94 #-------------------------------------------------------------------------------
95
96-SYSTEM_VARIABLES="AR RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
97-for varname in $SYSTEM_VARIABLES; do
98+# Export all OE variables for qmake.conf from shell env to QMakeVars
99+OE_VARIABLES="AR CC CFLAGS COMPILER CXX CXXFLAGS LDFLAGS LINK QT_CONFIG STRIP"
100+for varname in $OE_VARIABLES; do
101 qmakevarname="${varname}"
102- qmakecmdargs=""
103- # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
104- if [ "${varname}" = "LDFLAGS" ]; then
105- qmakevarname="LFLAGS"
106- elif [ "${varname}" = "LD" ]; then
107- qmakevarname="LINK"
108- elif [ "${varname}" = "AR" ]; then
109- # QMAKE_AR needs to be set to "/path/to/ar cqs" but the
110- # environment variable will be set to the command only so we
111- # need to append " cqs" for autoconf compatibility
112- qmakecmdargs=" cqs"
113- fi
114 cmd=`echo \
115-'if [ -n "\$'${varname}'" ]; then
116- QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}${qmakecmdargs}'"
117+'if [ -n "\$OE_QMAKE_'${varname}'" ]; then
118+ QMakeVar set OE_QMAKE_'${qmakevarname}' "\$OE_QMAKE_'${varname}'"
119+# echo "Exporting OE_QMAKE_'${qmakevarname}' value=\"\$OE_QMAKE_'${varname}'\"" >&2
120 fi'`
121 eval "$cmd"
122 done
123@@ -3443,7 +3453,7 @@ if [ "$XPLATFORM_MAC" = "yes" ]; then
124 [ "$CFG_GTK" = "auto" ] && CFG_GTK=no
125 fi
126
127-QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
128+QMAKE_CONF_COMPILER=`getXQEvalMakeConf QMAKE_CXX`
129
130 TEST_COMPILER=$QMAKE_CONF_COMPILER
131
132@@ -3494,7 +3504,7 @@ if [ "$XPLATFORM_ANDROID" = "yes" ] ; then
133 fi
134 fi
135
136-TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
137+TEST_COMPILER_CXXFLAGS=`getXQEvalMakeConf QMAKE_CXXFLAGS`
138
139 GCC_MACHINE_DUMP=
140 case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
141@@ -3893,6 +3903,14 @@ setBootstrapVariable()
142 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
143 } 44 }
144 45
145+# OE qmake.conf is reading some variables from shell env
146+# read them from qmake.conf, replace qmake () syntax with shell and eval
147+setBootstrapEvalVariable()
148+{
149+ getQEvalMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
150+}
151+
152+
153 # build qmake 46 # build qmake
154 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
155 echo "Creating qmake..."
156@@ -3986,6 +4004,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
157 EXEEXT=
158 ;;
159 esac
160+
161 if [ "$BUILD_ON_MAC" = "yes" ]; then
162 echo "COCOA_LFLAGS =-framework Foundation -framework CoreServices" >>"$mkfile"
163 echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
164diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf 47diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
165index a890c7f..151630c 100644 48index f275e3a..5aa15f5 100644
166--- a/mkspecs/features/configure.prf 49--- a/mkspecs/features/configure.prf
167+++ b/mkspecs/features/configure.prf 50+++ b/mkspecs/features/configure.prf
168@@ -71,14 +71,14 @@ defineTest(qtCompileTest) { 51@@ -37,14 +37,14 @@ defineTest(qtCompileTest) {
169 } 52 }
170 53
171 # Clean up after previous run 54 # Clean up after previous run
172- exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean") 55- exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean")
173+ exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean") 56+ exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean")
174 57
175 mkpath($$test_out_dir)|error("Aborting.") 58 mkpath($$test_out_dir)|error()
176 59
177 !isEmpty (QMAKE_QTCONF): qtconfarg = -qtconf $$QMAKE_QTCONF 60 !isEmpty (QMAKE_QTCONF): qtconfarg = -qtconf $$QMAKE_QTCONF
178 61
@@ -182,12 +65,25 @@ index a890c7f..151630c 100644
182 log("yes$$escape_expand(\\n)") 65 log("yes$$escape_expand(\\n)")
183 msg = "test $$1 succeeded" 66 msg = "test $$1 succeeded"
184 write_file($$QMAKE_CONFIG_LOG, msg, append) 67 write_file($$QMAKE_CONFIG_LOG, msg, append)
68diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
69index efbf2fa..78b453c 100644
70--- a/mkspecs/features/qt_functions.prf
71+++ b/mkspecs/features/qt_functions.prf
72@@ -67,7 +67,7 @@ defineTest(qtHaveModule) {
73 defineTest(qtPrepareTool) {
74 cmd = $$eval(QT_TOOL.$${2}.binary)
75 isEmpty(cmd) {
76- cmd = $$[QT_HOST_BINS]/$$2
77+ cmd = $$[QT_HOST_BINS/get]/$$2
78 exists($${cmd}.pl) {
79 $${1}_EXE = $${cmd}.pl
80 cmd = perl -w $$system_path($${cmd}.pl)
185diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf 81diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
186new file mode 100644 82new file mode 100644
187index 0000000..311ba04 83index 0000000..dd8d5c2
188--- /dev/null 84--- /dev/null
189+++ b/mkspecs/linux-oe-g++/qmake.conf 85+++ b/mkspecs/linux-oe-g++/qmake.conf
190@@ -0,0 +1,42 @@ 86@@ -0,0 +1,43 @@
191+# 87+#
192+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded 88+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
193+# 89+#
@@ -199,36 +95,37 @@ index 0000000..311ba04
199+include(../common/linux.conf) 95+include(../common/linux.conf)
200+ 96+
201+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip 97+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
202+QMAKE_AR = $(OE_QMAKE_AR) cqs 98+QMAKE_AR = $$(OE_QMAKE_AR) cqs
203+QMAKE_STRIP = $(OE_QMAKE_STRIP) 99+QMAKE_STRIP = $$(OE_QMAKE_STRIP)
204+QMAKE_WAYLAND_SCANNER = $(OE_QMAKE_WAYLAND_SCANNER) 100+QMAKE_WAYLAND_SCANNER = $$(OE_QMAKE_WAYLAND_SCANNER)
205+ 101+
206+include(../common/gcc-base-unix.conf) 102+include(../common/gcc-base-unix.conf)
207+ 103+
208+# *FLAGS from gcc-base.conf 104+# *FLAGS from gcc-base.conf
209+QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS) 105+QMAKE_CFLAGS += $$(OE_QMAKE_CFLAGS)
210+QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS) 106+QMAKE_CXXFLAGS += $$(OE_QMAKE_CXXFLAGS)
211+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) 107+QMAKE_LFLAGS += $$(OE_QMAKE_LDFLAGS)
212+ 108+
213+include(../common/g++-unix.conf) 109+include(../common/g++-unix.conf)
214+ 110+
215+# tc settings from g++-base.conf 111+# tc settings from g++-base.conf
216+QMAKE_COMPILER = $(OE_QMAKE_COMPILER) gcc 112+QMAKE_COMPILER = $$(OE_QMAKE_COMPILER) gcc
217+QMAKE_CC = $(OE_QMAKE_CC) 113+QMAKE_CC = $$(OE_QMAKE_CC)
218+QMAKE_CXX = $(OE_QMAKE_CXX) 114+QMAKE_CXX = $$(OE_QMAKE_CXX)
219+ 115+
220+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS) 116+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$(OE_QMAKE_CFLAGS)
221+ 117+
222+QMAKE_LINK = $(OE_QMAKE_LINK) 118+QMAKE_LINK = $$(OE_QMAKE_LINK)
223+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) 119+QMAKE_LINK_SHLIB = $$(OE_QMAKE_LINK)
224+QMAKE_LINK_C = $(OE_QMAKE_LINK) 120+QMAKE_LINK_C = $$(OE_QMAKE_LINK)
225+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK) 121+QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK)
226+ 122+
227+# for the SDK 123+# for the SDK
228+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG) 124+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG)
229+ 125+
230+include(../oe-device-extra.pri) 126+include(../oe-device-extra.pri)
231+ 127+
128+load(device_config)
232+load(qt_config) 129+load(qt_config)
233diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h 130diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h
234new file mode 100644 131new file mode 100644
@@ -336,3 +233,6 @@ index 0000000..dd12003
336+#endif 233+#endif
337+ 234+
338+#endif // QPLATFORMDEFS_H 235+#endif // QPLATFORMDEFS_H
236diff --git a/mkspecs/oe-device-extra.pri b/mkspecs/oe-device-extra.pri
237new file mode 100644
238index 0000000..e69de29
diff --git a/recipes-qt/qt5/qtbase/0002-configure-Separate-host-and-build-platform.patch b/recipes-qt/qt5/qtbase/0002-configure-Separate-host-and-build-platform.patch
deleted file mode 100644
index 9884976d..00000000
--- a/recipes-qt/qt5/qtbase/0002-configure-Separate-host-and-build-platform.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1From 34676aae2d06271014ee4a67498e6e2f0fe97139 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@theqtcompany.com>
3Date: Fri, 11 Mar 2016 16:00:23 +0200
4Subject: [PATCH] configure: Separate host and build platform
5
6Missing bits that were not upstreamed
7
8Change-Id: I6bfed072c9826094dcda9c7112b0c8b9d4055366
9---
10 configure | 2 +-
11 mkspecs/features/qt_functions.prf | 2 +-
12 mkspecs/features/qt_tool.prf | 1 +
13 3 files changed, 3 insertions(+), 2 deletions(-)
14
15diff --git a/configure b/configure
16index 03e89d5..2fa97d3 100755
17--- a/configure
18+++ b/configure
19@@ -3293,7 +3293,7 @@ if [ -d "$XPLATFORM" ]; then
20 else
21 XQMAKESPEC="$relpath/mkspecs/${XPLATFORM}"
22 fi
23-if [ "$PLATFORM" != "$XPLATFORM" ]; then
24+if [ "$PLATFORM" != "$XPLATFORM" ] || [ -n "$CFG_HOST_QT_TOOLS_PATH" ]; then
25 QT_CROSS_COMPILE=yes
26 QMAKE_CONFIG="$QMAKE_CONFIG cross_compile"
27 QTCONFIG_CONFIG="$QTCONFIG_CONFIG cross_compile"
28diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
29index 9c3414c..91d1888 100644
30--- a/mkspecs/features/qt_functions.prf
31+++ b/mkspecs/features/qt_functions.prf
32@@ -71,7 +71,7 @@ defineTest(qtHaveModule) {
33 defineTest(qtPrepareTool) {
34 cmd = $$eval(QT_TOOL.$${2}.binary)
35 isEmpty(cmd) {
36- cmd = $$[QT_HOST_BINS]/$$2
37+ cmd = $$[QT_HOST_BINS/get]/$$2
38 exists($${cmd}.pl) {
39 cmd = perl -w $$system_path($${cmd}.pl)
40 } else: contains(QMAKE_HOST.os, Windows) {
41diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
42index bdeb59c..ecc0ca2 100644
43--- a/mkspecs/features/qt_tool.prf
44+++ b/mkspecs/features/qt_tool.prf
45@@ -21,6 +21,7 @@ DEFINES *= QT_USE_QSTRINGBUILDER
46 isEmpty(MODULE):MODULE = $$TARGET
47
48 load(qt_build_paths)
49+ load(device_config)
50
51 TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_tool_$${MODULE}.pri
52
53--
541.9.1
55
diff --git a/recipes-qt/qt5/qtbase/0002-configure-force-cross_compile.patch b/recipes-qt/qt5/qtbase/0002-configure-force-cross_compile.patch
new file mode 100644
index 00000000..3f011b09
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0002-configure-force-cross_compile.patch
@@ -0,0 +1,32 @@
1From 3ed6db12a1de305eae7c61e6e11572d77a75d595 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@theqtcompany.com>
3Date: Fri, 11 Mar 2016 16:00:23 +0200
4Subject: [PATCH] configure: force cross_compile
5
6Configure enabled cross_compile only if mkspec and xmkspec are difference,
7in yocto build that is never true, so force cross_compile feature.
8
9Use qttools (moc etc.) from correct path defined by qt.conf
10
11Upstream-Status: Inappropriate [embedded specific]
12
13Change-Id: I6bfed072c9826094dcda9c7112b0c8b9d4055366
14---
15 configure.pri | 4 +---
16 1 file changed, 1 insertion(+), 3 deletions(-)
17
18diff --git a/configure.pri b/configure.pri
19index 6a75398..940e307 100644
20--- a/configure.pri
21+++ b/configure.pri
22@@ -57,9 +57,7 @@ defineTest(qtConfCommandline_sanitize) {
23 # callbacks
24
25 defineReplace(qtConfFunc_crossCompile) {
26- spec = $$[QMAKE_SPEC]
27- !equals(spec, $$[QMAKE_XSPEC]): return(true)
28- return(false)
29+ return(true)
30 }
31
32 # custom tests
diff --git a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
index e24d4758..c105488e 100644
--- a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
+++ b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
@@ -1,4 +1,4 @@
1From d83234c35de8f52ce3bf6eb262ad8e6af467ac34 Mon Sep 17 00:00:00 2001 1From bf1498618415e7b1e57b54881b1e56d74f2cdf6b Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 27 Apr 2013 23:15:37 +0200 3Date: Sat, 27 Apr 2013 23:15:37 +0200
4Subject: [PATCH] qt_module: Fix pkgconfig and libtool replacements 4Subject: [PATCH] qt_module: Fix pkgconfig and libtool replacements
@@ -68,7 +68,7 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
68 2 files changed, 14 insertions(+), 1 deletion(-) 68 2 files changed, 14 insertions(+), 1 deletion(-)
69 69
70diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf 70diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
71index 71e96b4..0d7535c 100644 71index 0c5f080..a6e4f09 100644
72--- a/mkspecs/features/qt.prf 72--- a/mkspecs/features/qt.prf
73+++ b/mkspecs/features/qt.prf 73+++ b/mkspecs/features/qt.prf
74@@ -317,6 +317,19 @@ contains(TEMPLATE, .*app) { 74@@ -317,6 +317,19 @@ contains(TEMPLATE, .*app) {
@@ -89,13 +89,13 @@ index 71e96b4..0d7535c 100644
89+} 89+}
90+ 90+
91 QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN 91 QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN
92 contains(QT_CONFIG, static) { 92 qtConfig(static) {
93 QT_PLUGIN_VERIFY += QTPLUGIN 93 QT_PLUGIN_VERIFY += QTPLUGIN
94diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf 94diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
95index b367bc1..209cc43 100644 95index e754a17..4c1530e 100644
96--- a/mkspecs/features/qt_common.prf 96--- a/mkspecs/features/qt_common.prf
97+++ b/mkspecs/features/qt_common.prf 97+++ b/mkspecs/features/qt_common.prf
98@@ -38,7 +38,7 @@ contains(TEMPLATE, .*lib) { 98@@ -37,7 +37,7 @@ contains(TEMPLATE, .*lib) {
99 lib_replace.replace = 99 lib_replace.replace =
100 } else { 100 } else {
101 lib_replace.match = $$rplbase/lib 101 lib_replace.match = $$rplbase/lib
diff --git a/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch b/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch
index bac18412..6d64e6b5 100644
--- a/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch
+++ b/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch
@@ -1,4 +1,4 @@
1From 0f4ab3e27938002134e8f3f9eb12cf9c50b2ab95 Mon Sep 17 00:00:00 2001 1From cc926956758bf8170c4e49c66e1066524b43f65f Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> 2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Fri, 13 Nov 2015 12:36:11 +0100 3Date: Fri, 13 Nov 2015 12:36:11 +0100
4Subject: [PATCH] configure paths for target qmake properly 4Subject: [PATCH] configure paths for target qmake properly
@@ -19,11 +19,11 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
19 1 file changed, 19 insertions(+), 4 deletions(-) 19 1 file changed, 19 insertions(+), 4 deletions(-)
20 20
21diff --git a/configure b/configure 21diff --git a/configure b/configure
22index f49a674..d30d0ca 100755 22index 8b33c5b..1df248f 100755
23--- a/configure 23--- a/configure
24+++ b/configure 24+++ b/configure
25@@ -3792,8 +3792,13 @@ if [ "$CFG_COMPILE_EXAMPLES" = "yes" ]; then 25@@ -1545,8 +1545,13 @@ if [ -z "$QT_REL_HOST_DATA" ]; then
26 QMAKE_CONFIG="$QMAKE_CONFIG compile_examples" 26 fi
27 fi 27 fi
28 28
29-shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` 29-shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"`
@@ -38,7 +38,7 @@ index f49a674..d30d0ca 100755
38 38
39 QT_CONFIGURE_STR_OFF=0 39 QT_CONFIGURE_STR_OFF=0
40 40
41@@ -3826,7 +3831,11 @@ QT_CONFIGURE_STRS_ALL=$QT_CONFIGURE_STRS 41@@ -1579,7 +1584,11 @@ QT_CONFIGURE_STRS_ALL=$QT_CONFIGURE_STRS
42 42
43 QT_CONFIGURE_STR_OFFSETS= 43 QT_CONFIGURE_STR_OFFSETS=
44 QT_CONFIGURE_STRS= 44 QT_CONFIGURE_STRS=
@@ -51,7 +51,7 @@ index f49a674..d30d0ca 100755
51 addConfStr "$QT_REL_HOST_BINS" 51 addConfStr "$QT_REL_HOST_BINS"
52 addConfStr "$QT_REL_HOST_LIBS" 52 addConfStr "$QT_REL_HOST_LIBS"
53 addConfStr "$QT_REL_HOST_DATA" 53 addConfStr "$QT_REL_HOST_DATA"
54@@ -3838,6 +3847,12 @@ addConfStr "$shortspec" 54@@ -1591,6 +1600,12 @@ addConfStr "$shortspec"
55 #------------------------------------------------------------------------------- 55 #-------------------------------------------------------------------------------
56 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global" 56 [ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
57 57
@@ -62,9 +62,9 @@ index f49a674..d30d0ca 100755
62+fi 62+fi
63+ 63+
64 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF 64 cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
65 /* License Info */ 65 /* Installation date */
66 static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee"; 66 static const char qt_configure_installation [12+11] = "qt_instdate=2012-12-20";
67@@ -3850,7 +3865,7 @@ static const char qt_configure_installation [12+11] = "qt_instdate=2 67@@ -1599,7 +1614,7 @@ static const char qt_configure_installation [12+11] = "qt_instdate=2
68 static const char qt_configure_prefix_path_str [512 + 12] = "qt_prfxpath=$QT_INSTALL_PREFIX"; 68 static const char qt_configure_prefix_path_str [512 + 12] = "qt_prfxpath=$QT_INSTALL_PREFIX";
69 #ifdef QT_BUILD_QMAKE 69 #ifdef QT_BUILD_QMAKE
70 static const char qt_configure_ext_prefix_path_str [512 + 12] = "qt_epfxpath=$QT_EXT_PREFIX"; 70 static const char qt_configure_ext_prefix_path_str [512 + 12] = "qt_epfxpath=$QT_EXT_PREFIX";
diff --git a/recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch b/recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch
deleted file mode 100644
index 23d0ab38..00000000
--- a/recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch
+++ /dev/null
@@ -1,95 +0,0 @@
1From 91b87aed0a2a96b0d6b54757ea13c75ee648a9b0 Mon Sep 17 00:00:00 2001
2From: Julien Gueytat <contact@jgueytat.fr>
3Date: Wed, 27 Apr 2016 19:24:39 +0200
4Subject: [PATCH] Reorder EGL libraries from pkgconfig and defaults:
5
6https://bugreports.qt.io/browse/QTBUG-50838
7https://bugreports.qt.io/browse/QTBUG-52739
8
9The modification is the less intrusive possible. It only swaps LIBS and QMAKE_LIBS_EGL.
10The reason behind that was that for the RaspberryPi:
11 * -lEGL -GLESv2 can link
12 * -lGLESv2 -lEGL can't
13
14Adding -lEGL -lGLESv2 and then -lEGL gives -lGLESv2 -lEGL ... the libraries swaped.
15
16Signed-off-by: Julien Gueytat <contact@jgueytat.fr>
17---
18 config.tests/qpa/egl/egl.pro | 5 ++++-
19 config.tests/qpa/eglfs-brcm/eglfs-brcm.pro | 12 +++++++-----
20 configure | 16 ++++++++++++++--
21 3 files changed, 25 insertions(+), 8 deletions(-)
22
23diff --git a/config.tests/qpa/egl/egl.pro b/config.tests/qpa/egl/egl.pro
24index b5396da..828b674 100644
25--- a/config.tests/qpa/egl/egl.pro
26+++ b/config.tests/qpa/egl/egl.pro
27@@ -5,6 +5,9 @@ for(p, QMAKE_LIBDIR_EGL) {
28 }
29
30 !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
31-!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
32+
33+BACKUP_LIBS = $$LIBS
34+!isEmpty(QMAKE_LIBS_EGL): LIBS = $$QMAKE_LIBS_EGL
35+LIBS += $$BACKUP_LIBS
36
37 CONFIG -= qt
38diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
39index d8b1c3e..06f7241 100644
40--- a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
41+++ b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
42@@ -1,11 +1,13 @@
43 SOURCES = eglfs-brcm.cpp
44
45-CONFIG -= qt
46-
47-INCLUDEPATH += $$QMAKE_INCDIR_EGL
48-
49 for(p, QMAKE_LIBDIR_EGL) {
50 LIBS += -L$$p
51 }
52
53-LIBS += -lEGL -lGLESv2 -lbcm_host
54+INCLUDEPATH += $$QMAKE_INCDIR_EGL
55+
56+BACKUP_LIBS = $$LIBS
57+LIBS = -lEGL -lGLESv2 -lbcm_host
58+LIBS += $$BACKUP_LIBS
59+
60+CONFIG -= qt
61diff --git a/configure b/configure
62index d30d0ca..14f348c 100755
63--- a/configure
64+++ b/configure
65@@ -5891,7 +5891,9 @@ if [ "$CFG_EGL" != "no" ]; then
66 QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
67 QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
68 QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`"
69- fi # detect EGL support
70+ fi
71+
72+ # detect EGL support
73 if compileTest qpa/egl "EGL" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
74 CFG_EGL=yes
75 if compileTest qpa/egl-x11 "EGL-X11" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
76@@ -5914,8 +5916,18 @@ fi
77 if [ "$CFG_EGLFS" != "no" ]; then
78 if [ "$XPLATFORM_QNX" = "no" ] && [ "$CFG_OPENGL" != "no" ]; then
79 CFG_EGLFS="$CFG_EGL"
80+
81+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
82+ QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
83+ QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
84+ QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
85+ QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
86+ QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
87+ QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`"
88+ fi
89+
90 # Detect eglfs backends.
91- if compileTest qpa/eglfs-brcm "eglfs-brcm"; then
92+ if compileTest qpa/eglfs-brcm "eglfs-brcm" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
93 CFG_EGLFS_BRCM=yes
94 else
95 CFG_EGLFS_BRCM=no
diff --git a/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch b/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch
deleted file mode 100644
index 7b681dce..00000000
--- a/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 2e176e3d10535e4fdaa6ecc919538f66f4a2930d Mon Sep 17 00:00:00 2001
2From: Andy Nichols <andy.nichols@qt.io>
3Date: Mon, 11 Jul 2016 09:18:33 +0200
4Subject: QWidgetBackingStore: Fix build with QT_NO_OPENGL
5
6A define moved out of the #ifndef QT_NO_OPENGL scope.
7
8Change-Id: I41c943b97f165b5171581e01f3a4b2d3fb25747e
9Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
10
11Upstream-Status: Backport
12Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com>
13---
14 src/widgets/kernel/qwidgetbackingstore.cpp | 2 ++
15 1 file changed, 2 insertions(+)
16
17diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp
18index 32aabce..242e625 100644
19--- a/src/widgets/kernel/qwidgetbackingstore.cpp
20+++ b/src/widgets/kernel/qwidgetbackingstore.cpp
21@@ -67,7 +67,9 @@ QT_BEGIN_NAMESPACE
22
23 extern QRegion qt_dirtyRegion(QWidget *);
24
25+#ifndef QT_NO_OPENGL
26 Q_GLOBAL_STATIC(QPlatformTextureList, qt_dummy_platformTextureList)
27+#endif
28
29 /**
30 * Flushes the contents of the \a backingStore into the screen area of \a widget.
31--
32cgit v1.0-4-g1e03
33
diff --git a/recipes-qt/qt5/qtbase/0013-Use-pkgconfig-to-configure-freetype2.patch b/recipes-qt/qt5/qtbase/0013-Use-pkgconfig-to-configure-freetype2.patch
new file mode 100644
index 00000000..453a1f3a
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0013-Use-pkgconfig-to-configure-freetype2.patch
@@ -0,0 +1,25 @@
1From 3f88cd7cfb1ad2ebcd29ff736282fa993038036c Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Fri, 23 Sep 2016 11:32:52 +0300
4Subject: [PATCH] Use pkgconfig to configure freetype2
5
6Change-Id: I0f94ac981f3283bd8410c0bb9c8732aeabce3148
7---
8 src/gui/configure.json | 1 +
9 1 file changed, 1 insertion(+)
10
11diff --git a/src/gui/configure.json b/src/gui/configure.json
12index 376359b..0554a08 100644
13--- a/src/gui/configure.json
14+++ b/src/gui/configure.json
15@@ -90,6 +90,7 @@
16 "export": "",
17 "test": "unix/freetype",
18 "sources": [
19+ { "type": "pkgConfig", "args": "freetype2" },
20 "-lfreetype"
21 ]
22 },
23--
241.9.1
25