summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch')
-rw-r--r--recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch108
1 files changed, 108 insertions, 0 deletions
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
new file mode 100644
index 00000000..06476cb8
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch
@@ -0,0 +1,108 @@
1From 932cb18540fc4634e02d048cf9ab9e519ce0811d 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 12/13] 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
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
23Change-Id: I4f6e634bf0b2cb96065ee5c38b9cd8a224c3bd37
24Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
25Signed-off-by: Simon Busch <morphis@gravedo.de>
26Signed-off-by: Jonathan Liu <net147@gmail.com>
27Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
28---
29 qmake/property.cpp | 1 +
30 src/corelib/global/qlibraryinfo.cpp | 3 ++-
31 src/corelib/global/qlibraryinfo.h | 1 +
32 tools/configure/configureapp.cpp | 8 ++++++++
33 4 files changed, 12 insertions(+), 1 deletion(-)
34
35diff --git a/qmake/property.cpp b/qmake/property.cpp
36index 051e056..50da6ed 100644
37--- a/qmake/property.cpp
38+++ b/qmake/property.cpp
39@@ -67,6 +67,7 @@ static const struct {
40 { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
41 { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
42 { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
43+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
44 { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
45 { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
46 };
47diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
48index c418c5e..c8c4188 100644
49--- a/src/corelib/global/qlibraryinfo.cpp
50+++ b/src/corelib/global/qlibraryinfo.cpp
51@@ -348,7 +348,7 @@ QLibraryInfo::isDebugBuild()
52 */
53
54 static const struct {
55- char key[19], value[13];
56+ char key[21], value[13];
57 } qtConfEntries[] = {
58 { "Prefix", "." },
59 { "Documentation", "doc" }, // should be ${Data}/doc
60@@ -374,6 +374,7 @@ static const struct {
61 { "HostBinaries", "bin" },
62 { "HostLibraries", "lib" },
63 { "HostData", "." },
64+ { "ExternalHostBinaries", "" },
65 { "TargetSpec", "" },
66 { "HostSpec", "" },
67 #endif
68diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
69index 543c4b3..a02e03a 100644
70--- a/src/corelib/global/qlibraryinfo.h
71+++ b/src/corelib/global/qlibraryinfo.h
72@@ -80,6 +80,7 @@ public:
73 HostBinariesPath,
74 HostLibrariesPath,
75 HostDataPath,
76+ ExternalHostBinariesPath,
77 TargetSpecPath,
78 HostSpecPath,
79 LastHostPath = HostSpecPath,
80diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
81index 6e9d4aa..0ca4daf 100644
82--- a/tools/configure/configureapp.cpp
83+++ b/tools/configure/configureapp.cpp
84@@ -1191,6 +1191,13 @@ void Configure::parseCmdLine()
85 dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i);
86 }
87
88+ else if (configCmdLine.at(i) == "-external-hostbindir") {
89+ ++i;
90+ if (i == argCount)
91+ break;
92+ dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i);
93+ }
94+
95 else if (configCmdLine.at(i) == "-make-tool") {
96 ++i;
97 if (i == argCount)
98@@ -4004,6 +4011,7 @@ void Configure::generateQConfigCpp()
99 << " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
100 << " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << endl
101 << " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl
102+ << " \"qt_ebinpath=" << formatPath(dictionary["QT_EXTERNAL_HOST_BINS"]) << "\"," << endl
103 << " \"qt_targspec=" << targSpec << "\"," << endl
104 << " \"qt_hostspec=" << hostSpec << "\"," << endl
105 << "#endif" << endl
106--
1072.3.1
108