mirror of
https://github.com/thead-yocto-mirror/meta-qt5
synced 2026-09-18 05:01:56 +02:00
This patch is a backport from upstream qt5 fixes building with clang from meta-clang Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
135 lines
4.9 KiB
Diff
135 lines
4.9 KiB
Diff
From b0ab57e1f0781b73830514ddc498f38da0886d15 Mon Sep 17 00:00:00 2001
|
|
From: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Date: Sat, 6 Apr 2013 13:15:07 +0200
|
|
Subject: [PATCH 10/11] Add -external-hostbindir option for native(sdk)
|
|
|
|
* when cross-compiling it's sometimes useful to use existing tools from machine
|
|
(or in OpenEmbedded built with separate native recipe) when building for target
|
|
|
|
* this way we can skip bootstraping tools we already have
|
|
|
|
* qt_functions: temporary remove isEmpty check
|
|
* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value
|
|
* isEmpty works correctly only with qmake variables (e.g. $$FOO -
|
|
isEmpty(FOO)), but doesn't work with system properties like $$[FOO].
|
|
|
|
* cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries
|
|
|
|
Upstream-Status: Pending
|
|
is a lot better for upstreaming (and it was already sort of approved by
|
|
Oswald) but in 5.2.0 I've noticed that he added something similar for
|
|
android builds
|
|
|
|
Change-Id: I4f6e634bf0b2cb96065ee5c38b9cd8a224c3bd37
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Signed-off-by: Simon Busch <morphis@gravedo.de>
|
|
Signed-off-by: Jonathan Liu <net147@gmail.com>
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
|
|
Conflicts:
|
|
tools/configure/configureapp.cpp
|
|
---
|
|
configure | 1 +
|
|
qmake/property.cpp | 1 +
|
|
src/corelib/global/qlibraryinfo.cpp | 3 ++-
|
|
src/corelib/global/qlibraryinfo.h | 1 +
|
|
tools/configure/configureapp.cpp | 11 +++++++++++
|
|
5 files changed, 16 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/configure b/configure
|
|
index b8f1fb9..1d2157f 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -3833,6 +3833,7 @@ addConfStr "$CFG_SYSROOT"
|
|
addConfStr "$QT_REL_HOST_BINS"
|
|
addConfStr "$QT_REL_HOST_LIBS"
|
|
addConfStr "$QT_REL_HOST_DATA"
|
|
+addConfStr "$QT_EXTERNAL_HOST_BINS"
|
|
addConfStr "$shortxspec"
|
|
addConfStr "$shortspec"
|
|
|
|
diff --git a/qmake/property.cpp b/qmake/property.cpp
|
|
index 817ae95..c69539f 100644
|
|
--- a/qmake/property.cpp
|
|
+++ b/qmake/property.cpp
|
|
@@ -68,6 +68,7 @@ static const struct {
|
|
{ "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
|
|
{ "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
|
|
{ "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
|
|
+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
|
|
{ "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
|
|
{ "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
|
|
};
|
|
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
|
|
index f663c88..675bd4c 100644
|
|
--- a/src/corelib/global/qlibraryinfo.cpp
|
|
+++ b/src/corelib/global/qlibraryinfo.cpp
|
|
@@ -373,7 +373,7 @@ QLibraryInfo::isDebugBuild()
|
|
*/
|
|
|
|
static const struct {
|
|
- char key[19], value[13];
|
|
+ char key[21], value[13];
|
|
} qtConfEntries[] = {
|
|
{ "Prefix", "." },
|
|
{ "Documentation", "doc" }, // should be ${Data}/doc
|
|
@@ -398,6 +398,7 @@ static const struct {
|
|
{ "HostBinaries", "bin" },
|
|
{ "HostLibraries", "lib" },
|
|
{ "HostData", "." },
|
|
+ { "ExternalHostBinaries", "" },
|
|
{ "TargetSpec", "" },
|
|
{ "HostSpec", "" },
|
|
{ "HostPrefix", "" },
|
|
diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
|
|
index 1ad7637..5a8b127 100644
|
|
--- a/src/corelib/global/qlibraryinfo.h
|
|
+++ b/src/corelib/global/qlibraryinfo.h
|
|
@@ -81,6 +81,7 @@ public:
|
|
HostBinariesPath,
|
|
HostLibrariesPath,
|
|
HostDataPath,
|
|
+ ExternalHostBinariesPath,
|
|
TargetSpecPath,
|
|
HostSpecPath,
|
|
HostPrefixPath,
|
|
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
|
|
index 3bf0546..53bf146 100644
|
|
--- a/tools/configure/configureapp.cpp
|
|
+++ b/tools/configure/configureapp.cpp
|
|
@@ -1217,6 +1217,13 @@ void Configure::parseCmdLine()
|
|
dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i);
|
|
}
|
|
|
|
+ else if (configCmdLine.at(i) == "-external-hostbindir") {
|
|
+ ++i;
|
|
+ if (i == argCount)
|
|
+ break;
|
|
+ dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i);
|
|
+ }
|
|
+
|
|
else if (configCmdLine.at(i) == "-make-tool") {
|
|
++i;
|
|
if (i == argCount)
|
|
@@ -4101,6 +4108,9 @@ void Configure::generateQConfigCpp()
|
|
|
|
if (dictionary["QT_REL_HOST_DATA"].isEmpty())
|
|
dictionary["QT_REL_HOST_DATA"] = haveHpx ? "." : dictionary["QT_REL_INSTALL_ARCHDATA"];
|
|
+
|
|
+ if (dictionary["QT_EXTERNAL_HOST_BINS"].isEmpty())
|
|
+ dictionary["QT_EXTERNAL_HOST_BINS"] = haveHpx ? "bin" : dictionary["QT_REL_INSTALL_BINS"];
|
|
|
|
confStringOff = 0;
|
|
addConfStr(0, dictionary["QT_REL_INSTALL_DOCS"]);
|
|
@@ -4120,6 +4130,7 @@ void Configure::generateQConfigCpp()
|
|
addConfStr(1, dictionary["QT_REL_HOST_BINS"]);
|
|
addConfStr(1, dictionary["QT_REL_HOST_LIBS"]);
|
|
addConfStr(1, dictionary["QT_REL_HOST_DATA"]);
|
|
+ addConfStr(1, dictionary["QT_EXTERNAL_HOST_BINS"]);
|
|
addConfStr(1, targSpec);
|
|
addConfStr(1, hostSpec);
|
|
|
|
--
|
|
2.5.0
|
|
|