summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase/0009-Add-external-hostbindir-option-for-native-sdk.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-qt/qt5/qtbase/0009-Add-external-hostbindir-option-for-native-sdk.patch')
-rw-r--r--recipes-qt/qt5/qtbase/0009-Add-external-hostbindir-option-for-native-sdk.patch134
1 files changed, 134 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtbase/0009-Add-external-hostbindir-option-for-native-sdk.patch b/recipes-qt/qt5/qtbase/0009-Add-external-hostbindir-option-for-native-sdk.patch
new file mode 100644
index 00000000..292ced81
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0009-Add-external-hostbindir-option-for-native-sdk.patch
@@ -0,0 +1,134 @@
1From 22c6746515470bab482b8cbb9a256033470d3647 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 09/10] 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
29Conflicts:
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
39diff --git a/configure b/configure
40index f0f42ab..04fd1ba 100755
41--- a/configure
42+++ b/configure
43@@ -3846,6 +3846,7 @@ addConfStr "$CFG_SYSROOT"
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
51diff --git a/qmake/property.cpp b/qmake/property.cpp
52index 817ae95..c69539f 100644
53--- a/qmake/property.cpp
54+++ b/qmake/property.cpp
55@@ -68,6 +68,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 };
63diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
64index c3b5c2d..1381658 100644
65--- a/src/corelib/global/qlibraryinfo.cpp
66+++ b/src/corelib/global/qlibraryinfo.cpp
67@@ -373,7 +373,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@@ -398,6 +398,7 @@ static const struct {
77 { "HostBinaries", "bin" },
78 { "HostLibraries", "lib" },
79 { "HostData", "." },
80+ { "ExternalHostBinaries", "" },
81 { "TargetSpec", "" },
82 { "HostSpec", "" },
83 { "HostPrefix", "" },
84diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
85index 1ad7637..5a8b127 100644
86--- a/src/corelib/global/qlibraryinfo.h
87+++ b/src/corelib/global/qlibraryinfo.h
88@@ -81,6 +81,7 @@ public:
89 HostBinariesPath,
90 HostLibrariesPath,
91 HostDataPath,
92+ ExternalHostBinariesPath,
93 TargetSpecPath,
94 HostSpecPath,
95 HostPrefixPath,
96diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
97index 3bf0546..53bf146 100644
98--- a/tools/configure/configureapp.cpp
99+++ b/tools/configure/configureapp.cpp
100@@ -1217,6 +1217,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@@ -4101,6 +4108,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@@ -4120,6 +4130,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
132--
1332.5.3
134