summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase.inc1
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase-native.inc1
-rw-r--r--recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch75
-rw-r--r--recipes-qt/qt5/qtbase/0014-Add-external-hostbindir-option-native.patch106
5 files changed, 109 insertions, 75 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc
index b3eab767..8a0b31a6 100644
--- a/recipes-qt/qt5/nativesdk-qtbase.inc
+++ b/recipes-qt/qt5/nativesdk-qtbase.inc
@@ -27,6 +27,7 @@ SRC_URI += "\
27# common for qtbase-native and nativesdk-qtbase 27# common for qtbase-native and nativesdk-qtbase
28SRC_URI += " \ 28SRC_URI += " \
29 file://0011-Always-build-uic.patch \ 29 file://0011-Always-build-uic.patch \
30 file://0014-Add-external-hostbindir-option-native.patch \
30" 31"
31 32
32# specific for nativesdk-qtbase 33# specific for nativesdk-qtbase
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index 1e938913..0bfa4425 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -25,6 +25,7 @@ SRC_URI += "\
25# common for qtbase-native and nativesdk-qtbase 25# common for qtbase-native and nativesdk-qtbase
26SRC_URI += " \ 26SRC_URI += " \
27 file://0011-Always-build-uic.patch \ 27 file://0011-Always-build-uic.patch \
28 file://0014-Add-external-hostbindir-option-native.patch \
28" 29"
29 30
30# specific for nativesdk-qtbase 31# specific for nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase-native.inc b/recipes-qt/qt5/qtbase-native.inc
index 40238446..6a0191d3 100644
--- a/recipes-qt/qt5/qtbase-native.inc
+++ b/recipes-qt/qt5/qtbase-native.inc
@@ -24,6 +24,7 @@ SRC_URI += "\
24# common for qtbase-native and nativesdk-qtbase 24# common for qtbase-native and nativesdk-qtbase
25SRC_URI += " \ 25SRC_URI += " \
26 file://0011-Always-build-uic.patch \ 26 file://0011-Always-build-uic.patch \
27 file://0014-Add-external-hostbindir-option-native.patch \
27" 28"
28 29
29QT_CONF_PATH = "${B}/qt.conf" 30QT_CONF_PATH = "${B}/qt.conf"
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 c633ea70..87e8f0f3 100644
--- a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch
+++ b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch
@@ -27,14 +27,10 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
27 configure | 15 +++++++++++++++ 27 configure | 15 +++++++++++++++
28 mkspecs/features/qt_functions.prf | 6 +++++- 28 mkspecs/features/qt_functions.prf | 6 +++++-
29 mkspecs/features/qt_tool.prf | 4 ++-- 29 mkspecs/features/qt_tool.prf | 4 ++--
30 qmake/property.cpp | 1 +
31 qtbase.pro | 13 ++++++++++--- 30 qtbase.pro | 13 ++++++++++---
32 src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++--- 31 src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++---
33 src/corelib/global/qlibraryinfo.cpp | 3 ++-
34 src/corelib/global/qlibraryinfo.h | 1 +
35 src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++-- 32 src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++--
36 src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- 33 src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +-
37 tools/configure/configureapp.cpp | 8 ++++++++
38 11 files changed, 50 insertions(+), 13 deletions(-) 34 11 files changed, 50 insertions(+), 13 deletions(-)
39 35
40diff --git a/configure b/configure 36diff --git a/configure b/configure
@@ -133,18 +129,6 @@ index 1d3e88c..9b26adf 100644
133 isEmpty(MODULE):MODULE = $$TARGET 129 isEmpty(MODULE):MODULE = $$TARGET
134 130
135 !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private) 131 !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private)
136diff --git a/qmake/property.cpp b/qmake/property.cpp
137index 051e056..50da6ed 100644
138--- a/qmake/property.cpp
139+++ b/qmake/property.cpp
140@@ -67,6 +67,7 @@ static const struct {
141 { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
142 { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
143 { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
144+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
145 { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
146 { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
147 };
148diff --git a/qtbase.pro b/qtbase.pro 132diff --git a/qtbase.pro b/qtbase.pro
149index 6d0de44..ddf7478 100644 133index 6d0de44..ddf7478 100644
150--- a/qtbase.pro 134--- a/qtbase.pro
@@ -209,39 +193,6 @@ index 9bda70e..6e3605a 100644
209 !!ENDIF 193 !!ENDIF
210 _qt5_Core_check_file_exists(${imported_location}) 194 _qt5_Core_check_file_exists(${imported_location})
211 195
212diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
213index d68c51b..7191159 100644
214--- a/src/corelib/global/qlibraryinfo.cpp
215+++ b/src/corelib/global/qlibraryinfo.cpp
216@@ -349,7 +349,7 @@ QLibraryInfo::isDebugBuild()
217 */
218
219 static const struct {
220- char key[19], value[13];
221+ char key[21], value[13];
222 } qtConfEntries[] = {
223 { "Prefix", "." },
224 { "Documentation", "doc" }, // should be ${Data}/doc
225@@ -375,6 +375,7 @@ static const struct {
226 { "HostBinaries", "bin" },
227 { "HostLibraries", "lib" },
228 { "HostData", "." },
229+ { "ExternalHostBinaries", "" },
230 { "TargetSpec", "" },
231 { "HostSpec", "" },
232 #endif
233diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
234index 543c4b3..a02e03a 100644
235--- a/src/corelib/global/qlibraryinfo.h
236+++ b/src/corelib/global/qlibraryinfo.h
237@@ -80,6 +80,7 @@ public:
238 HostBinariesPath,
239 HostLibrariesPath,
240 HostDataPath,
241+ ExternalHostBinariesPath,
242 TargetSpecPath,
243 HostSpecPath,
244 LastHostPath = HostSpecPath,
245diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in 196diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
246index 1d94715..301af8f 100644 197index 1d94715..301af8f 100644
247--- a/src/dbus/Qt5DBusConfigExtras.cmake.in 198--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
@@ -277,32 +228,6 @@ index 99d87e2..5621dc0 100644
277 !!ENDIF 228 !!ENDIF
278 _qt5_Widgets_check_file_exists(${imported_location}) 229 _qt5_Widgets_check_file_exists(${imported_location})
279 230
280diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
281index 92422c2..d0a62c8 100644
282--- a/tools/configure/configureapp.cpp
283+++ b/tools/configure/configureapp.cpp
284@@ -1191,6 +1191,13 @@ void Configure::parseCmdLine()
285 dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i);
286 }
287
288+ else if (configCmdLine.at(i) == "-external-hostbindir") {
289+ ++i;
290+ if (i == argCount)
291+ break;
292+ dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i);
293+ }
294+
295 else if (configCmdLine.at(i) == "-make-tool") {
296 ++i;
297 if (i == argCount)
298@@ -3995,6 +4002,7 @@ void Configure::generateQConfigCpp()
299 << " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
300 << " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << endl
301 << " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl
302+ << " \"qt_ebinpath=" << formatPath(dictionary["QT_EXTERNAL_HOST_BINS"]) << "\"," << endl
303 << " \"qt_targspec=" << targSpec << "\"," << endl
304 << " \"qt_hostspec=" << hostSpec << "\"," << endl
305 << "#endif" << endl
306-- 231--
3072.1.3 2322.1.3
308 233
diff --git a/recipes-qt/qt5/qtbase/0014-Add-external-hostbindir-option-native.patch b/recipes-qt/qt5/qtbase/0014-Add-external-hostbindir-option-native.patch
new file mode 100644
index 00000000..08a1cbd3
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0014-Add-external-hostbindir-option-native.patch
@@ -0,0 +1,106 @@
1From f2d51e50a7fbdf485696d1b8b2d29e64c729c76b Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 6 Apr 2013 13:15:07 +0200
4Subject: [PATCH 03/11] Add -external-hostbindir option
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
18Upstream-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
23Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
24Signed-off-by: Simon Busch <morphis@gravedo.de>
25Signed-off-by: Jonathan Liu <net147@gmail.com>
26---
27 qmake/property.cpp | 1 +
28 tools/configure/configureapp.cpp | 8 ++++++++
29 src/corelib/global/qlibraryinfo.cpp | 3 ++-
30 src/corelib/global/qlibraryinfo.h | 1 +
31 1 files changed, 50 insertions(+), 13 deletions(-)
32
33diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
34index 92422c2..d0a62c8 100644
35--- a/tools/configure/configureapp.cpp
36+++ b/tools/configure/configureapp.cpp
37@@ -1191,6 +1191,13 @@ void Configure::parseCmdLine()
38 dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i);
39 }
40
41+ else if (configCmdLine.at(i) == "-external-hostbindir") {
42+ ++i;
43+ if (i == argCount)
44+ break;
45+ dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i);
46+ }
47+
48 else if (configCmdLine.at(i) == "-make-tool") {
49 ++i;
50 if (i == argCount)
51@@ -3995,6 +4002,7 @@ void Configure::generateQConfigCpp()
52 << " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
53 << " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << endl
54 << " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl
55+ << " \"qt_ebinpath=" << formatPath(dictionary["QT_EXTERNAL_HOST_BINS"]) << "\"," << endl
56 << " \"qt_targspec=" << targSpec << "\"," << endl
57 << " \"qt_hostspec=" << hostSpec << "\"," << endl
58 << "#endif" << endl
59diff --git a/qmake/property.cpp b/qmake/property.cpp
60index 051e056..50da6ed 100644
61--- a/qmake/property.cpp
62+++ b/qmake/property.cpp
63@@ -67,6 +67,7 @@ static const struct {
64 { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
65 { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
66 { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
67+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
68 { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
69 { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
70 };
71diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
72index d68c51b..7191159 100644
73--- a/src/corelib/global/qlibraryinfo.cpp
74+++ b/src/corelib/global/qlibraryinfo.cpp
75@@ -349,7 +349,7 @@ QLibraryInfo::isDebugBuild()
76 */
77
78 static const struct {
79- char key[19], value[13];
80+ char key[21], value[13];
81 } qtConfEntries[] = {
82 { "Prefix", "." },
83 { "Documentation", "doc" }, // should be ${Data}/doc
84@@ -375,6 +375,7 @@ static const struct {
85 { "HostBinaries", "bin" },
86 { "HostLibraries", "lib" },
87 { "HostData", "." },
88+ { "ExternalHostBinaries", "" },
89 { "TargetSpec", "" },
90 { "HostSpec", "" },
91 #endif
92diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
93index 543c4b3..a02e03a 100644
94--- a/src/corelib/global/qlibraryinfo.h
95+++ b/src/corelib/global/qlibraryinfo.h
96@@ -80,6 +80,7 @@ public:
97 HostBinariesPath,
98 HostLibrariesPath,
99 HostDataPath,
100+ ExternalHostBinariesPath,
101 TargetSpecPath,
102 HostSpecPath,
103 LastHostPath = HostSpecPath,
104--
1052.1.3
106