diff options
author | Samuli Piippo <samuli.piippo@qt.io> | 2017-01-26 16:54:50 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-01-26 16:18:39 +0100 |
commit | 333949a8239dfa7788b35f1059614733e11a6a25 (patch) | |
tree | 420843abad8bfc939484fa34bd6f7da9d432db8d /recipes-qt/qt5/qtbase | |
parent | c0ba8ab590ba4e17a2a04925cf48915233d4f493 (diff) | |
download | meta-qt5-333949a8239dfa7788b35f1059614733e11a6a25.tar.gz |
Upgrade 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.
Update PACKAGECONFIGs for qtbase to match current configure options.
The new Qt configuration system [1] can be used with a new variable
EXTRA_QMAKEVARS_CONFIGURE, which takes both command line and feature
arguments.
Merge the two qtwayland recipes to one that supports all three targets
(target, native, nativesdk) without need for additional patch.
Recipes for new Qt modules: QtSCXML, QtNetworkAuth, QtGamepad.
Removes qtdeclarative-render2d
[1] https://www.mail-archive.com/development@qt-project.org/msg25257.html
Change-Id: Ib37c4d7323e8b45aa2b171e8427b6ec15aaee213
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtbase')
11 files changed, 101 insertions, 904 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 b28ca8b6..df2016e1 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 @@ | |||
1 | From d6c75f788e15fb552eacb08359698a1342a97f20 Mon Sep 17 00:00:00 2001 | 1 | From 2784921c40d0b523c75e613e48b7fd1e90ba3ef1 Mon Sep 17 00:00:00 2001 |
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | 2 | From: Martin Jansa <Martin.Jansa@gmail.com> |
3 | Date: Mon, 15 Apr 2013 04:29:32 +0200 | 3 | Date: Mon, 15 Apr 2013 04:29:32 +0200 |
4 | Subject: [PATCH] Add linux-oe-g++ platform | 4 | Subject: [PATCH] Add linux-oe-g++ platform |
@@ -7,176 +7,53 @@ 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 | |||
40 | * add -target suffix to qmake built in qtbase configure, this way we can | ||
41 | use qmake from qtbase-native, but then include qmake built for target | ||
42 | in qtbase-tools package (smilarly for nativesdk-qtbase). | ||
43 | |||
44 | Upstream-Status: Inappropriate [embedded specific] | 17 | Upstream-Status: Inappropriate [embedded specific] |
45 | too OE specific, probably cannot be upstreamed | 18 | too OE specific, probably cannot be upstreamed |
46 | 19 | ||
47 | Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c | 20 | Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c |
48 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | 21 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> |
49 | --- | 22 | --- |
50 | configure | 55 ++++++++++++------- | 23 | configure | 2 +- |
51 | mkspecs/features/configure.prf | 4 +- | 24 | mkspecs/features/configure.prf | 4 ++-- |
52 | mkspecs/linux-oe-g++/qmake.conf | 42 +++++++++++++++ | 25 | mkspecs/features/qt_functions.prf | 2 +- |
53 | mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++ | 26 | mkspecs/linux-oe-g++/qmake.conf | 43 ++++++++++++++++++++++++++++++++++++ |
54 | 4 files changed, 181 insertions(+), 20 deletions(-) | 27 | mkspecs/linux-oe-g++/qplatformdefs.h | 1 + |
28 | 5 files changed, 48 insertions(+), 4 deletions(-) | ||
55 | create mode 100644 mkspecs/linux-oe-g++/qmake.conf | 29 | create mode 100644 mkspecs/linux-oe-g++/qmake.conf |
56 | create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h | 30 | create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h |
57 | 31 | ||
58 | diff --git a/configure b/configure | 32 | diff --git a/configure b/configure |
59 | index 0ba0c31..052872e 100755 | 33 | index 789ba4c..59cce01 100755 |
60 | --- a/configure | 34 | --- a/configure |
61 | +++ b/configure | 35 | +++ b/configure |
62 | @@ -333,6 +333,16 @@ getQMakeConf() | 36 | @@ -1624,7 +1624,7 @@ fi |
63 | getSingleQMakeVariable "$1" "$specvals" | 37 | # is where the resulting variable is written to |
64 | } | 38 | setBootstrapVariable() |
65 | |||
66 | +# OE qmake.conf is reading some variables from shell env | ||
67 | +# read them from qmake.conf, replace qmake () syntax with shell and eval | ||
68 | +getQEvalMakeConf() | ||
69 | +{ | ||
70 | + VAL=`getQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'` | ||
71 | + EVAL=`eval "echo ${VAL}"` | ||
72 | +# echo "Running getQEvalMakeConf: var='$1', val='`getQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2 | ||
73 | + eval "echo ${VAL}" | ||
74 | +} | ||
75 | + | ||
76 | getXQMakeConf() | ||
77 | { | 39 | { |
78 | if [ -z "$xspecvals" ]; then | 40 | - getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" |
79 | @@ -357,6 +367,16 @@ testXConfig() | 41 | + getQMakeConf "$1" | sed 's:\$\$(:\$(:' | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" |
80 | esac | ||
81 | } | ||
82 | |||
83 | +# OE qmake.conf is reading some variables from shell env | ||
84 | +# read them from qmake.conf, replace qmake () syntax with shell and eval | ||
85 | +getXQEvalMakeConf() | ||
86 | +{ | ||
87 | + VAL=`getXQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'` | ||
88 | + EVAL=`eval "echo ${VAL}"` | ||
89 | +# echo "Running getXQEvalMakeConf: var='$1', val='`getXQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2 | ||
90 | + eval "echo ${VAL}" | ||
91 | +} | ||
92 | + | ||
93 | compilerSupportsFlag() | ||
94 | { | ||
95 | cat >conftest.cpp <<EOF | ||
96 | @@ -578,24 +598,14 @@ fi | ||
97 | # initalize variables | ||
98 | #------------------------------------------------------------------------------- | ||
99 | |||
100 | -SYSTEM_VARIABLES="AR RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS" | ||
101 | -for varname in $SYSTEM_VARIABLES; do | ||
102 | +# Export all OE variables for qmake.conf from shell env to QMakeVars | ||
103 | +OE_VARIABLES="AR CC CFLAGS COMPILER CXX CXXFLAGS LDFLAGS LINK QT_CONFIG STRIP" | ||
104 | +for varname in $OE_VARIABLES; do | ||
105 | qmakevarname="${varname}" | ||
106 | - qmakecmdargs="" | ||
107 | - # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS | ||
108 | - if [ "${varname}" = "LDFLAGS" ]; then | ||
109 | - qmakevarname="LFLAGS" | ||
110 | - elif [ "${varname}" = "LD" ]; then | ||
111 | - qmakevarname="LINK" | ||
112 | - elif [ "${varname}" = "AR" ]; then | ||
113 | - # QMAKE_AR needs to be set to "/path/to/ar cqs" but the | ||
114 | - # environment variable will be set to the command only so we | ||
115 | - # need to append " cqs" for autoconf compatibility | ||
116 | - qmakecmdargs=" cqs" | ||
117 | - fi | ||
118 | cmd=`echo \ | ||
119 | -'if [ -n "\$'${varname}'" ]; then | ||
120 | - QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}${qmakecmdargs}'" | ||
121 | +'if [ -n "\$OE_QMAKE_'${varname}'" ]; then | ||
122 | + QMakeVar set OE_QMAKE_'${qmakevarname}' "\$OE_QMAKE_'${varname}'" | ||
123 | +# echo "Exporting OE_QMAKE_'${qmakevarname}' value=\"\$OE_QMAKE_'${varname}'\"" >&2 | ||
124 | fi'` | ||
125 | eval "$cmd" | ||
126 | done | ||
127 | @@ -3443,7 +3453,7 @@ if [ "$XPLATFORM_MAC" = "yes" ]; then | ||
128 | [ "$CFG_GTK" = "auto" ] && CFG_GTK=no | ||
129 | fi | ||
130 | |||
131 | -QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX` | ||
132 | +QMAKE_CONF_COMPILER=`getXQEvalMakeConf QMAKE_CXX` | ||
133 | |||
134 | TEST_COMPILER=$QMAKE_CONF_COMPILER | ||
135 | |||
136 | @@ -3494,7 +3504,7 @@ if [ "$XPLATFORM_ANDROID" = "yes" ] ; then | ||
137 | fi | ||
138 | fi | ||
139 | |||
140 | -TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS` | ||
141 | +TEST_COMPILER_CXXFLAGS=`getXQEvalMakeConf QMAKE_CXXFLAGS` | ||
142 | |||
143 | GCC_MACHINE_DUMP= | ||
144 | case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac | ||
145 | @@ -3893,6 +3903,14 @@ setBootstrapVariable() | ||
146 | getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" | ||
147 | } | 42 | } |
148 | 43 | ||
149 | +# OE qmake.conf is reading some variables from shell env | ||
150 | +# read them from qmake.conf, replace qmake () syntax with shell and eval | ||
151 | +setBootstrapEvalVariable() | ||
152 | +{ | ||
153 | + getQEvalMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" | ||
154 | +} | ||
155 | + | ||
156 | + | ||
157 | # build qmake | 44 | # build qmake |
158 | if true; then ###[ '!' -f "$outpath/bin/qmake" ]; | ||
159 | echo "Creating qmake..." | ||
160 | @@ -3986,6 +4004,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; | ||
161 | EXEEXT= | ||
162 | ;; | ||
163 | esac | ||
164 | + [ "$QT_CROSS_COMPILE" = "yes" ] && EXEEXT=-target | ||
165 | if [ "$BUILD_ON_MAC" = "yes" ]; then | ||
166 | echo "COCOA_LFLAGS =-framework Foundation -framework CoreServices" >>"$mkfile" | ||
167 | echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile" | ||
168 | diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf | 45 | diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf |
169 | index a890c7f..151630c 100644 | 46 | index f275e3a..5aa15f5 100644 |
170 | --- a/mkspecs/features/configure.prf | 47 | --- a/mkspecs/features/configure.prf |
171 | +++ b/mkspecs/features/configure.prf | 48 | +++ b/mkspecs/features/configure.prf |
172 | @@ -71,14 +71,14 @@ defineTest(qtCompileTest) { | 49 | @@ -37,14 +37,14 @@ defineTest(qtCompileTest) { |
173 | } | 50 | } |
174 | 51 | ||
175 | # Clean up after previous run | 52 | # Clean up after previous run |
176 | - exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean") | 53 | - exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean") |
177 | + exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean") | 54 | + exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean") |
178 | 55 | ||
179 | mkpath($$test_out_dir)|error("Aborting.") | 56 | mkpath($$test_out_dir)|error() |
180 | 57 | ||
181 | !isEmpty (QMAKE_QTCONF): qtconfarg = -qtconf $$QMAKE_QTCONF | 58 | !isEmpty (QMAKE_QTCONF): qtconfarg = -qtconf $$QMAKE_QTCONF |
182 | 59 | ||
@@ -186,157 +63,72 @@ index a890c7f..151630c 100644 | |||
186 | log("yes$$escape_expand(\\n)") | 63 | log("yes$$escape_expand(\\n)") |
187 | msg = "test $$1 succeeded" | 64 | msg = "test $$1 succeeded" |
188 | write_file($$QMAKE_CONFIG_LOG, msg, append) | 65 | write_file($$QMAKE_CONFIG_LOG, msg, append) |
66 | diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf | ||
67 | index 708815d..097ac49 100644 | ||
68 | --- a/mkspecs/features/qt_functions.prf | ||
69 | +++ b/mkspecs/features/qt_functions.prf | ||
70 | @@ -67,7 +67,7 @@ defineTest(qtHaveModule) { | ||
71 | defineTest(qtPrepareTool) { | ||
72 | cmd = $$eval(QT_TOOL.$${2}.binary) | ||
73 | isEmpty(cmd) { | ||
74 | - cmd = $$[QT_HOST_BINS]/$$2 | ||
75 | + cmd = $$[QT_HOST_BINS/get]/$$2 | ||
76 | exists($${cmd}.pl) { | ||
77 | $${1}_EXE = $${cmd}.pl | ||
78 | cmd = perl -w $$system_path($${cmd}.pl) | ||
189 | diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf | 79 | diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf |
190 | new file mode 100644 | 80 | new file mode 100644 |
191 | index 0000000..311ba04 | 81 | index 0000000..c1837e6 |
192 | --- /dev/null | 82 | --- /dev/null |
193 | +++ b/mkspecs/linux-oe-g++/qmake.conf | 83 | +++ b/mkspecs/linux-oe-g++/qmake.conf |
194 | @@ -0,0 +1,42 @@ | 84 | @@ -0,0 +1,43 @@ |
195 | +# | 85 | +# |
196 | +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded | 86 | +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded |
197 | +# | 87 | +# |
198 | + | 88 | + |
199 | +MAKEFILE_GENERATOR = UNIX | 89 | +MAKEFILE_GENERATOR = UNIX |
200 | +CONFIG += incremental | 90 | +CONFIG += incremental |
201 | +QMAKE_INCREMENTAL_STYLE = sublib | 91 | +QMAKE_INCREMENTAL_STYLE = sublib |
202 | + | 92 | + |
203 | +include(../common/linux.conf) | 93 | +include(../common/linux.conf) |
204 | + | 94 | + |
205 | +# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip | 95 | +# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip |
206 | +QMAKE_AR = $(OE_QMAKE_AR) cqs | 96 | +QMAKE_AR = $$(OE_QMAKE_AR) cqs |
207 | +QMAKE_STRIP = $(OE_QMAKE_STRIP) | 97 | +QMAKE_STRIP = $$(OE_QMAKE_STRIP) |
208 | +QMAKE_WAYLAND_SCANNER = $(OE_QMAKE_WAYLAND_SCANNER) | 98 | +QMAKE_WAYLAND_SCANNER = $$(OE_QMAKE_WAYLAND_SCANNER) |
209 | + | 99 | + |
210 | +include(../common/gcc-base-unix.conf) | 100 | +include(../common/gcc-base-unix.conf) |
211 | + | 101 | + |
212 | +# *FLAGS from gcc-base.conf | 102 | +# *FLAGS from gcc-base.conf |
213 | +QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS) | 103 | +QMAKE_CFLAGS += $$(OE_QMAKE_CFLAGS) |
214 | +QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS) | 104 | +QMAKE_CXXFLAGS += $$(OE_QMAKE_CXXFLAGS) |
215 | +QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) | 105 | +QMAKE_LFLAGS += $$(OE_QMAKE_LDFLAGS) |
216 | + | 106 | + |
217 | +include(../common/g++-unix.conf) | 107 | +include(../common/g++-unix.conf) |
218 | + | 108 | + |
219 | +# tc settings from g++-base.conf | 109 | +# tc settings from g++-base.conf |
220 | +QMAKE_COMPILER = $(OE_QMAKE_COMPILER) gcc | 110 | +QMAKE_COMPILER = $$(OE_QMAKE_COMPILER) gcc |
221 | +QMAKE_CC = $(OE_QMAKE_CC) | 111 | +QMAKE_CC = $$(OE_QMAKE_CC) |
222 | +QMAKE_CXX = $(OE_QMAKE_CXX) | 112 | +QMAKE_CXX = $$(OE_QMAKE_CXX) |
223 | + | 113 | + |
224 | +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS) | 114 | +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$(OE_QMAKE_CFLAGS) |
225 | + | 115 | + |
226 | +QMAKE_LINK = $(OE_QMAKE_LINK) | 116 | +QMAKE_LINK = $$(OE_QMAKE_LINK) |
227 | +QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) | 117 | +QMAKE_LINK_SHLIB = $$(OE_QMAKE_LINK) |
228 | +QMAKE_LINK_C = $(OE_QMAKE_LINK) | 118 | +QMAKE_LINK_C = $$(OE_QMAKE_LINK) |
229 | +QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK) | 119 | +QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK) |
230 | + | 120 | + |
231 | +# for the SDK | 121 | +# for the SDK |
232 | +isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG) | 122 | +isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG) |
233 | + | 123 | + |
234 | +include(../oe-device-extra.pri) | 124 | +include(../oe-device-extra.pri) |
235 | + | 125 | + |
126 | +load(device_config) | ||
236 | +load(qt_config) | 127 | +load(qt_config) |
237 | diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h | 128 | diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h |
238 | new file mode 100644 | 129 | new file mode 100644 |
239 | index 0000000..dd12003 | 130 | index 0000000..5d22fb4 |
240 | --- /dev/null | 131 | --- /dev/null |
241 | +++ b/mkspecs/linux-oe-g++/qplatformdefs.h | 132 | +++ b/mkspecs/linux-oe-g++/qplatformdefs.h |
242 | @@ -0,0 +1,100 @@ | 133 | @@ -0,0 +1 @@ |
243 | +/**************************************************************************** | 134 | +#include "../linux-g++/qplatformdefs.h" |
244 | +** | ||
245 | +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). | ||
246 | +** Contact: http://www.qt-project.org/legal | ||
247 | +** | ||
248 | +** This file is part of the qmake spec of the Qt Toolkit. | ||
249 | +** | ||
250 | +** $QT_BEGIN_LICENSE:LGPL$ | ||
251 | +** Commercial License Usage | ||
252 | +** Licensees holding valid commercial Qt licenses may use this file in | ||
253 | +** accordance with the commercial license agreement provided with the | ||
254 | +** Software or, alternatively, in accordance with the terms contained in | ||
255 | +** a written agreement between you and Digia. For licensing terms and | ||
256 | +** conditions see http://qt.digia.com/licensing. For further information | ||
257 | +** use the contact form at http://qt.digia.com/contact-us. | ||
258 | +** | ||
259 | +** GNU Lesser General Public License Usage | ||
260 | +** Alternatively, this file may be used under the terms of the GNU Lesser | ||
261 | +** General Public License version 2.1 as published by the Free Software | ||
262 | +** Foundation and appearing in the file LICENSE.LGPL included in the | ||
263 | +** packaging of this file. Please review the following information to | ||
264 | +** ensure the GNU Lesser General Public License version 2.1 requirements | ||
265 | +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
266 | +** | ||
267 | +** In addition, as a special exception, Digia gives you certain additional | ||
268 | +** rights. These rights are described in the Digia Qt LGPL Exception | ||
269 | +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
270 | +** | ||
271 | +** GNU General Public License Usage | ||
272 | +** Alternatively, this file may be used under the terms of the GNU | ||
273 | +** General Public License version 3.0 as published by the Free Software | ||
274 | +** Foundation and appearing in the file LICENSE.GPL included in the | ||
275 | +** packaging of this file. Please review the following information to | ||
276 | +** ensure the GNU General Public License version 3.0 requirements will be | ||
277 | +** met: http://www.gnu.org/copyleft/gpl.html. | ||
278 | +** | ||
279 | +** | ||
280 | +** $QT_END_LICENSE$ | ||
281 | +** | ||
282 | +****************************************************************************/ | ||
283 | + | ||
284 | +#ifndef QPLATFORMDEFS_H | ||
285 | +#define QPLATFORMDEFS_H | ||
286 | + | ||
287 | +// Get Qt defines/settings | ||
288 | + | ||
289 | +#include "qglobal.h" | ||
290 | + | ||
291 | +// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs | ||
292 | + | ||
293 | +// 1) need to reset default environment if _BSD_SOURCE is defined | ||
294 | +// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0 | ||
295 | +// 3) it seems older glibc need this to include the X/Open stuff | ||
296 | +#ifndef _GNU_SOURCE | ||
297 | +# define _GNU_SOURCE | ||
298 | +#endif | ||
299 | + | ||
300 | +#include <unistd.h> | ||
301 | + | ||
302 | + | ||
303 | +// We are hot - unistd.h should have turned on the specific APIs we requested | ||
304 | + | ||
305 | +#include <features.h> | ||
306 | +#include <pthread.h> | ||
307 | +#include <dirent.h> | ||
308 | +#include <fcntl.h> | ||
309 | +#include <grp.h> | ||
310 | +#include <pwd.h> | ||
311 | +#include <signal.h> | ||
312 | + | ||
313 | +#include <sys/types.h> | ||
314 | +#include <sys/ioctl.h> | ||
315 | +#include <sys/ipc.h> | ||
316 | +#include <sys/time.h> | ||
317 | +#include <sys/shm.h> | ||
318 | +#include <sys/socket.h> | ||
319 | +#include <sys/stat.h> | ||
320 | +#include <sys/wait.h> | ||
321 | +#include <netinet/in.h> | ||
322 | +#ifndef QT_NO_IPV6IFNAME | ||
323 | +#include <net/if.h> | ||
324 | +#endif | ||
325 | + | ||
326 | +#define QT_USE_XOPEN_LFS_EXTENSIONS | ||
327 | +#include "../common/posix/qplatformdefs.h" | ||
328 | + | ||
329 | +#undef QT_SOCKLEN_T | ||
330 | + | ||
331 | +#if defined(__GLIBC__) && (__GLIBC__ >= 2) | ||
332 | +#define QT_SOCKLEN_T socklen_t | ||
333 | +#else | ||
334 | +#define QT_SOCKLEN_T int | ||
335 | +#endif | ||
336 | + | ||
337 | +#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) | ||
338 | +#define QT_SNPRINTF ::snprintf | ||
339 | +#define QT_VSNPRINTF ::vsnprintf | ||
340 | +#endif | ||
341 | + | ||
342 | +#endif // QPLATFORMDEFS_H | ||
diff --git a/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch deleted file mode 100644 index 699e3856..00000000 --- a/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From e5f8607cfa1d2bcc798686cdf7c87ea0c6577d30 Mon Sep 17 00:00:00 2001 | ||
2 | From: Holger Freyther <zecke@selfish.org> | ||
3 | Date: Wed, 26 Sep 2012 17:22:30 +0200 | ||
4 | Subject: [PATCH] qlibraryinfo: allow to set qt.conf from the outside using the | ||
5 | environment | ||
6 | |||
7 | Allow to set a qt.conf from the outside using the environment. This allows | ||
8 | to inject new prefixes and other paths into qmake. This is needed when using | ||
9 | the same qmake binary to build qt/x11 and qt/embedded | ||
10 | |||
11 | Upstream-Status: Inappropriate [embedded specific] | ||
12 | again very OE specific to read everything from environment (reusing the same | ||
13 | qmake from sstate and replacing all configured paths in it with qt.conf from | ||
14 | environment). | ||
15 | |||
16 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
17 | --- | ||
18 | src/corelib/global/qlibraryinfo.cpp | 5 ++++- | ||
19 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp | ||
22 | index 4582001..ff65ef9 100644 | ||
23 | --- a/src/corelib/global/qlibraryinfo.cpp | ||
24 | +++ b/src/corelib/global/qlibraryinfo.cpp | ||
25 | @@ -163,7 +163,10 @@ void QLibrarySettings::load() | ||
26 | |||
27 | QSettings *QLibraryInfoPrivate::findConfiguration() | ||
28 | { | ||
29 | - QString qtconfig = QStringLiteral(":/qt/etc/qt.conf"); | ||
30 | + QByteArray config = getenv("QT_CONF_PATH"); | ||
31 | + QString qtconfig = QFile::decodeName(config); | ||
32 | + if(!QFile::exists(qtconfig)) | ||
33 | + qtconfig = QStringLiteral(":/qt/etc/qt.conf"); | ||
34 | if (QFile::exists(qtconfig)) | ||
35 | return new QSettings(qtconfig, QSettings::IniFormat); | ||
36 | #ifdef QT_BUILD_QMAKE | ||
diff --git a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch index 381cde29..8224171a 100644 --- a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch +++ b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch | |||
@@ -1,165 +1,23 @@ | |||
1 | From c1dc6165d6a085f162ed32ef5697f645019f9ee0 Mon Sep 17 00:00:00 2001 | 1 | From 502b95b840a5f79e5a68e9bd5b10dbdc92485f1f Mon Sep 17 00:00:00 2001 |
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | 2 | From: Martin Jansa <Martin.Jansa@gmail.com> |
3 | Date: Sat, 6 Apr 2013 13:15:07 +0200 | 3 | Date: Sat, 6 Apr 2013 13:15:07 +0200 |
4 | Subject: [PATCH] Add -external-hostbindir option | 4 | Subject: [PATCH] Add -external-hostbindir option |
5 | 5 | ||
6 | * when cross-compiling it's sometimes useful to use existing tools from machine | ||
7 | (or in OpenEmbedded built with separate native recipe) when building for target | ||
8 | |||
9 | * this way we can skip bootstraping tools we already have | ||
10 | |||
11 | * qt_functions: temporary remove isEmpty check | ||
12 | * now we assume that every build will provide QT_EXTERNAL_HOST_BINS value | ||
13 | * isEmpty works correctly only with qmake variables (e.g. $$FOO - | ||
14 | isEmpty(FOO)), but doesn't work with system properties like $$[FOO]. | ||
15 | |||
16 | * cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries | 6 | * cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries |
17 | 7 | ||
18 | Upstream-Status: Pending | 8 | Upstream-Status: Inappropriate [OE specific] |
19 | is a lot better for upstreaming (and it was already sort of approved by | ||
20 | Oswald) but in 5.2.0 I've noticed that he added something similar for | ||
21 | android builds | ||
22 | 9 | ||
23 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | 10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> |
24 | Signed-off-by: Simon Busch <morphis@gravedo.de> | 11 | Signed-off-by: Simon Busch <morphis@gravedo.de> |
25 | Signed-off-by: Jonathan Liu <net147@gmail.com> | 12 | Signed-off-by: Jonathan Liu <net147@gmail.com> |
26 | 13 | ||
27 | Conflicts: | ||
28 | configure | ||
29 | |||
30 | Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2 | 14 | Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2 |
31 | --- | 15 | --- |
32 | configure | 14 ++++++++++++++ | 16 | src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++--- |
33 | mkspecs/features/qt_functions.prf | 6 +++++- | 17 | src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++-- |
34 | mkspecs/features/qt_tool.prf | 4 +++- | 18 | src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- |
35 | qtbase.pro | 16 ++++++++++++++++ | 19 | 3 files changed, 6 insertions(+), 6 deletions(-) |
36 | src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++--- | ||
37 | src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++-- | ||
38 | src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- | ||
39 | 7 files changed, 44 insertions(+), 8 deletions(-) | ||
40 | 20 | ||
41 | diff --git a/configure b/configure | ||
42 | index 052872e..1fcbb3a 100755 | ||
43 | --- a/configure | ||
44 | +++ b/configure | ||
45 | @@ -834,6 +834,7 @@ QT_HOST_BINS= | ||
46 | QT_HOST_LIBS= | ||
47 | QT_HOST_DATA= | ||
48 | QT_EXT_PREFIX= | ||
49 | +QT_EXTERNAL_HOST_BINS= | ||
50 | |||
51 | #flags for SQL drivers | ||
52 | QT_CFLAGS_PSQL= | ||
53 | @@ -953,6 +954,7 @@ while [ "$#" -gt 0 ]; do | ||
54 | -testsdir| \ | ||
55 | -hostdatadir| \ | ||
56 | -hostbindir| \ | ||
57 | + -external-hostbindir| \ | ||
58 | -hostlibdir| \ | ||
59 | -extprefix| \ | ||
60 | -sysroot| \ | ||
61 | @@ -1185,6 +1187,9 @@ while [ "$#" -gt 0 ]; do | ||
62 | extprefix) | ||
63 | QT_EXT_PREFIX="$VAL" | ||
64 | ;; | ||
65 | + external-hostbindir) | ||
66 | + QT_EXTERNAL_HOST_BINS="$VAL" | ||
67 | + ;; | ||
68 | pkg-config) | ||
69 | if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then | ||
70 | CFG_PKGCONFIG="$VAL" | ||
71 | @@ -2447,6 +2452,10 @@ Installation options: | ||
72 | -hostdatadir <dir> . Data used by qmake will be installed to <dir> | ||
73 | (default HOSTPREFIX) | ||
74 | |||
75 | + -external-hostbindir <dir> Use external host executables instead of building them | ||
76 | + (not used by defaut) | ||
77 | + | ||
78 | + | ||
79 | Configure options: | ||
80 | |||
81 | The defaults (*) are usually acceptable. A plus (+) denotes a default value | ||
82 | @@ -3209,6 +3218,11 @@ fi | ||
83 | # command line and environment validation | ||
84 | #------------------------------------------------------------------------------- | ||
85 | |||
86 | +# default is empty, don't call makeabs if it is empty | ||
87 | +if [ ! -z "$QT_EXTERNAL_HOST_BINS" ]; then | ||
88 | + QT_EXTERNAL_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_EXTERNAL_HOST_BINS"` | ||
89 | +fi | ||
90 | + | ||
91 | # update QT_CONFIG to show our current predefined configuration | ||
92 | CFG_QCONFIG_PATH=$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h | ||
93 | case "$CFG_QCONFIG" in | ||
94 | diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf | ||
95 | index 54641ce..7d7baa4 100644 | ||
96 | --- a/mkspecs/features/qt_functions.prf | ||
97 | +++ b/mkspecs/features/qt_functions.prf | ||
98 | @@ -71,7 +71,11 @@ defineTest(qtHaveModule) { | ||
99 | defineTest(qtPrepareTool) { | ||
100 | cmd = $$eval(QT_TOOL.$${2}.binary) | ||
101 | isEmpty(cmd) { | ||
102 | - cmd = $$[QT_HOST_BINS]/$$2 | ||
103 | + QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS] | ||
104 | + isEmpty(QT_EXTERNAL_HOST_BINS): \ | ||
105 | + cmd = $$[QT_HOST_BINS]/$$2 | ||
106 | + else: \ | ||
107 | + cmd = $$[QT_EXTERNAL_HOST_BINS]/$$2 | ||
108 | exists($${cmd}.pl) { | ||
109 | $${1}_EXE = $${cmd}.pl | ||
110 | cmd = perl -w $$system_path($${cmd}.pl) | ||
111 | diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf | ||
112 | index bdeb59c..b8c539f 100644 | ||
113 | --- a/mkspecs/features/qt_tool.prf | ||
114 | +++ b/mkspecs/features/qt_tool.prf | ||
115 | @@ -14,10 +14,12 @@ load(qt_app) | ||
116 | CONFIG += console | ||
117 | DEFINES *= QT_USE_QSTRINGBUILDER | ||
118 | |||
119 | +QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS] | ||
120 | + | ||
121 | # If we are doing a prefix build, create a "module" pri which enables | ||
122 | # qtPrepareTool() to work with the non-installed build. | ||
123 | # Non-bootstrapped tools always need this because of the environment setup. | ||
124 | -!build_pass:if(!host_build|!force_bootstrap|force_independent|!isEmpty(HOST_QT_TOOLS)) { | ||
125 | +!build_pass:if(!host_build|!force_bootstrap|force_independent|!isEmpty(HOST_QT_TOOLS)):isEmpty(QT_EXTERNAL_HOST_BINS) { | ||
126 | isEmpty(MODULE):MODULE = $$TARGET | ||
127 | |||
128 | load(qt_build_paths) | ||
129 | diff --git a/qtbase.pro b/qtbase.pro | ||
130 | index 11cff9e..ec03669 100644 | ||
131 | --- a/qtbase.pro | ||
132 | +++ b/qtbase.pro | ||
133 | @@ -38,6 +38,19 @@ CONFIG -= qt | ||
134 | |||
135 | ### installations #### | ||
136 | |||
137 | +QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS] | ||
138 | + | ||
139 | +#qmake | ||
140 | +qmake.path = $$[QT_HOST_BINS] | ||
141 | +qmake.files = $$OUT_PWD/bin/qmake | ||
142 | +!isEmpty(QT_EXTERNAL_HOST_BINS) { | ||
143 | + qmake.files = $$[QT_EXTERNAL_HOST_BINS]/qmake | ||
144 | +} | ||
145 | +equals(QMAKE_HOST.os, Windows) { | ||
146 | + qmake.files = $${qmake.files}.exe | ||
147 | +} | ||
148 | +INSTALLS += qmake | ||
149 | + | ||
150 | #licheck | ||
151 | licheck.path = $$[QT_HOST_BINS] | ||
152 | licheck.files = $$PWD/bin/$$QT_LICHECK | ||
153 | @@ -51,6 +64,9 @@ INSTALLS += fixqt4headers | ||
154 | #syncqt | ||
155 | syncqt.path = $$[QT_HOST_BINS] | ||
156 | syncqt.files = $$PWD/bin/syncqt.pl | ||
157 | +!isEmpty(QT_EXTERNAL_HOST_BINS) { | ||
158 | + syncqt.files = $$[QT_EXTERNAL_HOST_BINS]/syncqt.pl | ||
159 | +} | ||
160 | INSTALLS += syncqt | ||
161 | |||
162 | # If we are doing a prefix build, create a "module" pri which enables | ||
163 | diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in | 21 | diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in |
164 | index a5ed8b2..0e11a1e 100644 | 22 | index a5ed8b2..0e11a1e 100644 |
165 | --- a/src/corelib/Qt5CoreConfigExtras.cmake.in | 23 | --- a/src/corelib/Qt5CoreConfigExtras.cmake.in |
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 @@ | |||
1 | From d83234c35de8f52ce3bf6eb262ad8e6af467ac34 Mon Sep 17 00:00:00 2001 | 1 | From bf1498618415e7b1e57b54881b1e56d74f2cdf6b Mon Sep 17 00:00:00 2001 |
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | 2 | From: Martin Jansa <Martin.Jansa@gmail.com> |
3 | Date: Sat, 27 Apr 2013 23:15:37 +0200 | 3 | Date: Sat, 27 Apr 2013 23:15:37 +0200 |
4 | Subject: [PATCH] qt_module: Fix pkgconfig and libtool replacements | 4 | Subject: [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 | ||
70 | diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf | 70 | diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf |
71 | index 71e96b4..0d7535c 100644 | 71 | index 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 |
94 | diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf | 94 | diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf |
95 | index b367bc1..209cc43 100644 | 95 | index 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/0006-QOpenGLPaintDevice-sub-area-support.patch b/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch deleted file mode 100644 index c58b1d9a..00000000 --- a/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch +++ /dev/null | |||
@@ -1,154 +0,0 @@ | |||
1 | From f207997b59f1381cf3523521209cb435b1a73f25 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jani Hautakangas <jani.hautakangas@ixonos.com> | ||
3 | Date: Thu, 16 May 2013 09:52:07 +0300 | ||
4 | Subject: [PATCH] QOpenGLPaintDevice sub-area support | ||
5 | |||
6 | Allows creating QOpenGLPaintDevice targetting sub-area | ||
7 | of binded framebuffer. | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | Change-Id: Ida2f079aa1ac0b87d36b54129e226399dbcdda80 | ||
12 | |||
13 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
14 | --- | ||
15 | src/gui/opengl/qopenglpaintdevice.cpp | 11 +++++++++++ | ||
16 | src/gui/opengl/qopenglpaintdevice.h | 2 ++ | ||
17 | src/gui/opengl/qopenglpaintdevice_p.h | 1 + | ||
18 | src/gui/opengl/qopenglpaintengine.cpp | 9 +++++++-- | ||
19 | src/gui/opengl/qopenglpaintengine_p.h | 1 + | ||
20 | src/gui/opengl/qopengltextureglyphcache.cpp | 2 +- | ||
21 | 6 files changed, 23 insertions(+), 3 deletions(-) | ||
22 | |||
23 | diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp | ||
24 | index 75f09d6..17d7155 100644 | ||
25 | --- a/src/gui/opengl/qopenglpaintdevice.cpp | ||
26 | +++ b/src/gui/opengl/qopenglpaintdevice.cpp | ||
27 | @@ -141,6 +141,12 @@ QOpenGLPaintDevice::QOpenGLPaintDevice(int width, int height) | ||
28 | { | ||
29 | } | ||
30 | |||
31 | +QOpenGLPaintDevice::QOpenGLPaintDevice(int x, int y, int width, int height) | ||
32 | + : d_ptr(new QOpenGLPaintDevicePrivate(QSize(width, height))) | ||
33 | +{ | ||
34 | + d_ptr->offset = QPoint(x,y); | ||
35 | +} | ||
36 | + | ||
37 | /*! | ||
38 | \internal | ||
39 | */ | ||
40 | @@ -222,6 +228,11 @@ QOpenGLContext *QOpenGLPaintDevice::context() const | ||
41 | return d_ptr->ctx; | ||
42 | } | ||
43 | |||
44 | +QPoint QOpenGLPaintDevice::offset() const | ||
45 | +{ | ||
46 | + return d_ptr->offset; | ||
47 | +} | ||
48 | + | ||
49 | /*! | ||
50 | Returns the pixel size of the paint device. | ||
51 | |||
52 | diff --git a/src/gui/opengl/qopenglpaintdevice.h b/src/gui/opengl/qopenglpaintdevice.h | ||
53 | index dffa68c..66a1e3d 100644 | ||
54 | --- a/src/gui/opengl/qopenglpaintdevice.h | ||
55 | +++ b/src/gui/opengl/qopenglpaintdevice.h | ||
56 | @@ -59,12 +59,14 @@ public: | ||
57 | QOpenGLPaintDevice(); | ||
58 | explicit QOpenGLPaintDevice(const QSize &size); | ||
59 | QOpenGLPaintDevice(int width, int height); | ||
60 | + QOpenGLPaintDevice(int x, int y, int width, int height); | ||
61 | virtual ~QOpenGLPaintDevice(); | ||
62 | |||
63 | int devType() const { return QInternal::OpenGL; } | ||
64 | QPaintEngine *paintEngine() const; | ||
65 | |||
66 | QOpenGLContext *context() const; | ||
67 | + QPoint offset() const; | ||
68 | QSize size() const; | ||
69 | void setSize(const QSize &size); | ||
70 | void setDevicePixelRatio(qreal devicePixelRatio); | ||
71 | diff --git a/src/gui/opengl/qopenglpaintdevice_p.h b/src/gui/opengl/qopenglpaintdevice_p.h | ||
72 | index 78e6b7a..6630461 100644 | ||
73 | --- a/src/gui/opengl/qopenglpaintdevice_p.h | ||
74 | +++ b/src/gui/opengl/qopenglpaintdevice_p.h | ||
75 | @@ -71,6 +71,7 @@ public: | ||
76 | |||
77 | public: | ||
78 | QSize size; | ||
79 | + QPoint offset; | ||
80 | QOpenGLContext *ctx; | ||
81 | |||
82 | qreal dpmx; | ||
83 | diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp | ||
84 | index d93871c..be2bee9 100644 | ||
85 | --- a/src/gui/opengl/qopenglpaintengine.cpp | ||
86 | +++ b/src/gui/opengl/qopenglpaintengine.cpp | ||
87 | @@ -2084,7 +2084,10 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev) | ||
88 | for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i) | ||
89 | d->vertexAttributeArraysEnabledState[i] = false; | ||
90 | |||
91 | + const QPoint offset = d->device->offset(); | ||
92 | const QSize sz = d->device->size(); | ||
93 | + d->x = offset.x(); | ||
94 | + d->y = offset.y(); | ||
95 | d->width = sz.width(); | ||
96 | d->height = sz.height(); | ||
97 | d->mode = BrushDrawingMode; | ||
98 | @@ -2171,7 +2174,7 @@ void QOpenGL2PaintEngineEx::ensureActive() | ||
99 | d->device->ensureActiveTarget(); | ||
100 | |||
101 | d->transferMode(BrushDrawingMode); | ||
102 | - d->funcs.glViewport(0, 0, d->width, d->height); | ||
103 | + d->funcs.glViewport(d->x, d->y, d->width, d->height); | ||
104 | d->needsSync = false; | ||
105 | d->shaderManager->setDirty(); | ||
106 | d->syncGlState(); | ||
107 | @@ -2213,6 +2216,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() | ||
108 | if (bounds == QRect(0, 0, width, height)) { | ||
109 | funcs.glDisable(GL_SCISSOR_TEST); | ||
110 | } else { | ||
111 | + bounds = QRect(bounds.x(), bounds.y(), bounds.width(), bounds.height()); | ||
112 | funcs.glEnable(GL_SCISSOR_TEST); | ||
113 | setScissor(bounds); | ||
114 | } | ||
115 | @@ -2221,12 +2225,13 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() | ||
116 | |||
117 | void QOpenGL2PaintEngineExPrivate::setScissor(const QRect &rect) | ||
118 | { | ||
119 | - const int left = rect.left(); | ||
120 | + const int left = rect.left() + x; | ||
121 | const int width = rect.width(); | ||
122 | int bottom = height - (rect.top() + rect.height()); | ||
123 | if (device->paintFlipped()) { | ||
124 | bottom = rect.top(); | ||
125 | } | ||
126 | + bottom += y; | ||
127 | const int height = rect.height(); | ||
128 | |||
129 | funcs.glScissor(left, bottom, width, height); | ||
130 | diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h | ||
131 | index c9f3282..7c0616b 100644 | ||
132 | --- a/src/gui/opengl/qopenglpaintengine_p.h | ||
133 | +++ b/src/gui/opengl/qopenglpaintengine_p.h | ||
134 | @@ -270,6 +270,7 @@ public: | ||
135 | QOpenGL2PaintEngineEx* q; | ||
136 | QOpenGLEngineShaderManager* shaderManager; | ||
137 | QOpenGLPaintDevice* device; | ||
138 | + int x, y; | ||
139 | int width, height; | ||
140 | QOpenGLContext *ctx; | ||
141 | EngineMode mode; | ||
142 | diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp | ||
143 | index 9a7b1eb..6f301f8 100644 | ||
144 | --- a/src/gui/opengl/qopengltextureglyphcache.cpp | ||
145 | +++ b/src/gui/opengl/qopengltextureglyphcache.cpp | ||
146 | @@ -403,7 +403,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height) | ||
147 | funcs->glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo); | ||
148 | |||
149 | if (pex != 0) { | ||
150 | - funcs->glViewport(0, 0, pex->width, pex->height); | ||
151 | + funcs->glViewport(pex->x, pex->y, pex->width, pex->height); | ||
152 | pex->updateClipScissorTest(); | ||
153 | } else { | ||
154 | if (m_vao.isCreated()) { | ||
diff --git a/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch b/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch deleted file mode 100644 index 4ea4061a..00000000 --- a/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From 7ab6ff7ba20a3173c10a76814d3c9ed312c80627 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 8 Jun 2015 13:59:25 -0700 | ||
4 | Subject: [PATCH] linux-oe-g++: Invert conditional for defining QT_SOCKLEN_T | ||
5 | |||
6 | This helps to make sure that QT_SOCKLEN_T is defined to be 'int' | ||
7 | only when its glibc < 2 and not also for the libraries which may define | ||
8 | it as per standards but are not glibc, e.g. musl | ||
9 | |||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | mkspecs/linux-oe-g++/qplatformdefs.h | 6 +++--- | ||
13 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
14 | |||
15 | diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h | ||
16 | index dd12003..8623651 100644 | ||
17 | --- a/mkspecs/linux-oe-g++/qplatformdefs.h | ||
18 | +++ b/mkspecs/linux-oe-g++/qplatformdefs.h | ||
19 | @@ -86,10 +86,10 @@ | ||
20 | |||
21 | #undef QT_SOCKLEN_T | ||
22 | |||
23 | -#if defined(__GLIBC__) && (__GLIBC__ >= 2) | ||
24 | -#define QT_SOCKLEN_T socklen_t | ||
25 | -#else | ||
26 | +#if defined(__GLIBC__) && (__GLIBC__ < 2) | ||
27 | #define QT_SOCKLEN_T int | ||
28 | +#else | ||
29 | +#define QT_SOCKLEN_T socklen_t | ||
30 | #endif | ||
31 | |||
32 | #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) | ||
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 @@ | |||
1 | From 0f4ab3e27938002134e8f3f9eb12cf9c50b2ab95 Mon Sep 17 00:00:00 2001 | 1 | From cc926956758bf8170c4e49c66e1066524b43f65f Mon Sep 17 00:00:00 2001 |
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | 2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> |
3 | Date: Fri, 13 Nov 2015 12:36:11 +0100 | 3 | Date: Fri, 13 Nov 2015 12:36:11 +0100 |
4 | Subject: [PATCH] configure paths for target qmake properly | 4 | Subject: [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 | ||
21 | diff --git a/configure b/configure | 21 | diff --git a/configure b/configure |
22 | index f49a674..d30d0ca 100755 | 22 | index 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-Disable-all-unknown-features-instead-of-erroring-out.patch b/recipes-qt/qt5/qtbase/0009-Disable-all-unknown-features-instead-of-erroring-out.patch new file mode 100644 index 00000000..cb9de793 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0009-Disable-all-unknown-features-instead-of-erroring-out.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From 9eb81e3bdeda4f90e5f2942400aef38b51a356bd Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuli Piippo <samuli.piippo@qt.io> | ||
3 | Date: Mon, 24 Oct 2016 09:45:18 +0300 | ||
4 | Subject: [PATCH] Disable all unknown features instead of erroring out | ||
5 | |||
6 | Task-number: QTBUG-56656 | ||
7 | Change-Id: Ib884fe33cac74439f9592b145937f6b75ced8447 | ||
8 | --- | ||
9 | mkspecs/features/qt_configure.prf | 3 ++- | ||
10 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf | ||
13 | index e8fa0c6..0ca5670 100644 | ||
14 | --- a/mkspecs/features/qt_configure.prf | ||
15 | +++ b/mkspecs/features/qt_configure.prf | ||
16 | @@ -1009,7 +1009,8 @@ defineReplace(qtConfEvaluateSingleExpression) { | ||
17 | error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.") | ||
18 | return($$result) | ||
19 | } | ||
20 | - error("Unknown feature object $${feature} in expression '$${1}'.") | ||
21 | + warning("Unknown feature object $${feature} in expression '$${1}'.") | ||
22 | + result = false | ||
23 | } | ||
24 | !qtConfCheckFeature($$feature): \ | ||
25 | error("Expression '$$1' is accessing non-emitted feature $${feature}.") | ||
26 | -- | ||
27 | 1.9.1 | ||
28 | |||
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 @@ | |||
1 | From 91b87aed0a2a96b0d6b54757ea13c75ee648a9b0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Julien Gueytat <contact@jgueytat.fr> | ||
3 | Date: Wed, 27 Apr 2016 19:24:39 +0200 | ||
4 | Subject: [PATCH] Reorder EGL libraries from pkgconfig and defaults: | ||
5 | |||
6 | https://bugreports.qt.io/browse/QTBUG-50838 | ||
7 | https://bugreports.qt.io/browse/QTBUG-52739 | ||
8 | |||
9 | The modification is the less intrusive possible. It only swaps LIBS and QMAKE_LIBS_EGL. | ||
10 | The reason behind that was that for the RaspberryPi: | ||
11 | * -lEGL -GLESv2 can link | ||
12 | * -lGLESv2 -lEGL can't | ||
13 | |||
14 | Adding -lEGL -lGLESv2 and then -lEGL gives -lGLESv2 -lEGL ... the libraries swaped. | ||
15 | |||
16 | Signed-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 | |||
23 | diff --git a/config.tests/qpa/egl/egl.pro b/config.tests/qpa/egl/egl.pro | ||
24 | index 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 | ||
38 | diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro | ||
39 | index 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 | ||
61 | diff --git a/configure b/configure | ||
62 | index 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/0012-Add-external-hostbindir-option-for-native-sdk.patch b/recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch deleted file mode 100644 index 1ab8abef..00000000 --- a/recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch +++ /dev/null | |||
@@ -1,131 +0,0 @@ | |||
1 | From cb66a3193b1b1b8b402548b615c3675c4adcf13a Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 6 Apr 2013 13:15:07 +0200 | ||
4 | Subject: [PATCH] Add -external-hostbindir option for native(sdk) | ||
5 | |||
6 | * when cross-compiling it's sometimes useful to use existing tools from machine | ||
7 | (or in OpenEmbedded built with separate native recipe) when building for target | ||
8 | |||
9 | * this way we can skip bootstraping tools we already have | ||
10 | |||
11 | * qt_functions: temporary remove isEmpty check | ||
12 | * now we assume that every build will provide QT_EXTERNAL_HOST_BINS value | ||
13 | * isEmpty works correctly only with qmake variables (e.g. $$FOO - | ||
14 | isEmpty(FOO)), but doesn't work with system properties like $$[FOO]. | ||
15 | |||
16 | * cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries | ||
17 | |||
18 | Upstream-Status: Pending | ||
19 | is a lot better for upstreaming (and it was already sort of approved by | ||
20 | Oswald) but in 5.2.0 I've noticed that he added something similar for | ||
21 | android builds | ||
22 | |||
23 | Change-Id: I4f6e634bf0b2cb96065ee5c38b9cd8a224c3bd37 | ||
24 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
25 | Signed-off-by: Simon Busch <morphis@gravedo.de> | ||
26 | Signed-off-by: Jonathan Liu <net147@gmail.com> | ||
27 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
28 | |||
29 | Conflicts: | ||
30 | tools/configure/configureapp.cpp | ||
31 | --- | ||
32 | configure | 1 + | ||
33 | qmake/property.cpp | 1 + | ||
34 | src/corelib/global/qlibraryinfo.cpp | 3 ++- | ||
35 | src/corelib/global/qlibraryinfo.h | 1 + | ||
36 | tools/configure/configureapp.cpp | 11 +++++++++++ | ||
37 | 5 files changed, 16 insertions(+), 1 deletion(-) | ||
38 | |||
39 | diff --git a/configure b/configure | ||
40 | index 14f348c..61f22e8 100755 | ||
41 | --- a/configure | ||
42 | +++ b/configure | ||
43 | @@ -3839,6 +3839,7 @@ fi | ||
44 | addConfStr "$QT_REL_HOST_BINS" | ||
45 | addConfStr "$QT_REL_HOST_LIBS" | ||
46 | addConfStr "$QT_REL_HOST_DATA" | ||
47 | +addConfStr "$QT_EXTERNAL_HOST_BINS" | ||
48 | addConfStr "$shortxspec" | ||
49 | addConfStr "$shortspec" | ||
50 | |||
51 | diff --git a/qmake/property.cpp b/qmake/property.cpp | ||
52 | index 9ee08f4..e6ecf92 100644 | ||
53 | --- a/qmake/property.cpp | ||
54 | +++ b/qmake/property.cpp | ||
55 | @@ -63,6 +63,7 @@ static const struct { | ||
56 | { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true }, | ||
57 | { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true }, | ||
58 | { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true }, | ||
59 | + { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true }, | ||
60 | { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true }, | ||
61 | { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true }, | ||
62 | }; | ||
63 | diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp | ||
64 | index ff65ef9..3726831 100644 | ||
65 | --- a/src/corelib/global/qlibraryinfo.cpp | ||
66 | +++ b/src/corelib/global/qlibraryinfo.cpp | ||
67 | @@ -381,7 +381,7 @@ QLibraryInfo::isDebugBuild() | ||
68 | */ | ||
69 | |||
70 | static const struct { | ||
71 | - char key[19], value[13]; | ||
72 | + char key[21], value[13]; | ||
73 | } qtConfEntries[] = { | ||
74 | { "Prefix", "." }, | ||
75 | { "Documentation", "doc" }, // should be ${Data}/doc | ||
76 | @@ -406,6 +406,7 @@ static const struct { | ||
77 | { "HostBinaries", "bin" }, | ||
78 | { "HostLibraries", "lib" }, | ||
79 | { "HostData", "." }, | ||
80 | + { "ExternalHostBinaries", "" }, | ||
81 | { "TargetSpec", "" }, | ||
82 | { "HostSpec", "" }, | ||
83 | { "HostPrefix", "" }, | ||
84 | diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h | ||
85 | index 362d47d..a2326e2 100644 | ||
86 | --- a/src/corelib/global/qlibraryinfo.h | ||
87 | +++ b/src/corelib/global/qlibraryinfo.h | ||
88 | @@ -87,6 +87,7 @@ public: | ||
89 | HostBinariesPath, | ||
90 | HostLibrariesPath, | ||
91 | HostDataPath, | ||
92 | + ExternalHostBinariesPath, | ||
93 | TargetSpecPath, | ||
94 | HostSpecPath, | ||
95 | HostPrefixPath, | ||
96 | diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp | ||
97 | index 0fa205b..2921e2b 100644 | ||
98 | --- a/tools/configure/configureapp.cpp | ||
99 | +++ b/tools/configure/configureapp.cpp | ||
100 | @@ -1219,6 +1219,13 @@ void Configure::parseCmdLine() | ||
101 | dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i); | ||
102 | } | ||
103 | |||
104 | + else if (configCmdLine.at(i) == "-external-hostbindir") { | ||
105 | + ++i; | ||
106 | + if (i == argCount) | ||
107 | + break; | ||
108 | + dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i); | ||
109 | + } | ||
110 | + | ||
111 | else if (configCmdLine.at(i) == "-make-tool") { | ||
112 | ++i; | ||
113 | if (i == argCount) | ||
114 | @@ -4171,6 +4178,9 @@ void Configure::generateQConfigCpp() | ||
115 | |||
116 | if (dictionary["QT_REL_HOST_DATA"].isEmpty()) | ||
117 | dictionary["QT_REL_HOST_DATA"] = haveHpx ? "." : dictionary["QT_REL_INSTALL_ARCHDATA"]; | ||
118 | + | ||
119 | + if (dictionary["QT_EXTERNAL_HOST_BINS"].isEmpty()) | ||
120 | + dictionary["QT_EXTERNAL_HOST_BINS"] = haveHpx ? "bin" : dictionary["QT_REL_INSTALL_BINS"]; | ||
121 | |||
122 | confStringOff = 0; | ||
123 | addConfStr(0, dictionary["QT_REL_INSTALL_DOCS"]); | ||
124 | @@ -4190,6 +4200,7 @@ void Configure::generateQConfigCpp() | ||
125 | addConfStr(1, dictionary["QT_REL_HOST_BINS"]); | ||
126 | addConfStr(1, dictionary["QT_REL_HOST_LIBS"]); | ||
127 | addConfStr(1, dictionary["QT_REL_HOST_DATA"]); | ||
128 | + addConfStr(1, dictionary["QT_EXTERNAL_HOST_BINS"]); | ||
129 | addConfStr(1, targSpec); | ||
130 | addConfStr(1, hostSpec); | ||
131 | |||
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 @@ | |||
1 | From 2e176e3d10535e4fdaa6ecc919538f66f4a2930d Mon Sep 17 00:00:00 2001 | ||
2 | From: Andy Nichols <andy.nichols@qt.io> | ||
3 | Date: Mon, 11 Jul 2016 09:18:33 +0200 | ||
4 | Subject: QWidgetBackingStore: Fix build with QT_NO_OPENGL | ||
5 | |||
6 | A define moved out of the #ifndef QT_NO_OPENGL scope. | ||
7 | |||
8 | Change-Id: I41c943b97f165b5171581e01f3a4b2d3fb25747e | ||
9 | Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> | ||
10 | |||
11 | Upstream-Status: Backport | ||
12 | Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com> | ||
13 | --- | ||
14 | src/widgets/kernel/qwidgetbackingstore.cpp | 2 ++ | ||
15 | 1 file changed, 2 insertions(+) | ||
16 | |||
17 | diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp | ||
18 | index 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 | -- | ||
32 | cgit v1.0-4-g1e03 | ||
33 | |||