qtbase: refresh patches and add missing to 5.0.2 and git versions

This commit is contained in:
Martin Jansa 2013-04-28 14:15:13 +02:00
parent 2790c1607e
commit 0a88f92505
30 changed files with 431 additions and 45 deletions

View File

@ -1,7 +1,7 @@
From 9de9d0ccfacbac39d3eb171efe3e8c74a2417ae3 Mon Sep 17 00:00:00 2001 From 9de9d0ccfacbac39d3eb171efe3e8c74a2417ae3 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Mon, 15 Apr 2013 04:29:32 +0200 Date: Mon, 15 Apr 2013 04:29:32 +0200
Subject: [PATCH 1/6] Add linux-oe-g++ platform Subject: [PATCH 01/11] Add linux-oe-g++ platform
* This qmake.conf unlike other platforms reads most variables from * This qmake.conf unlike other platforms reads most variables from
shell environment, because it's easier for qt recipes to export shell environment, because it's easier for qt recipes to export

View File

@ -1,8 +1,8 @@
From 41257668e0cb03056d79b2917d54a6e01bf2ed36 Mon Sep 17 00:00:00 2001 From 41257668e0cb03056d79b2917d54a6e01bf2ed36 Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@selfish.org> From: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200 Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 2/6] qlibraryinfo: allow to set qt.conf from the outside using Subject: [PATCH 02/11] qlibraryinfo: allow to set qt.conf from the outside
the environment using the environment
Allow to set a qt.conf from the outside using the environment. This allows Allow to set a qt.conf from the outside using the environment. This allows
to inject new prefixes and other paths into qmake. This is needed when using to inject new prefixes and other paths into qmake. This is needed when using

View File

@ -1,7 +1,7 @@
From 79f1b015148779b92dc6e65dffd297b8b9522f79 Mon Sep 17 00:00:00 2001 From 79f1b015148779b92dc6e65dffd297b8b9522f79 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 6 Apr 2013 13:15:07 +0200 Date: Sat, 6 Apr 2013 13:15:07 +0200
Subject: [PATCH 3/6] Add -external-hostbindir option Subject: [PATCH 03/11] Add -external-hostbindir option
* when cross-compiling it's sometimes useful to use existing tools from machine * 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 (or in OpenEmbedded built with separate native recipe) when building for target

View File

@ -1,7 +1,7 @@
From 1dd6ee9bb2aafb8d77d9c7e465b9cf6d778bc283 Mon Sep 17 00:00:00 2001 From 1dd6ee9bb2aafb8d77d9c7e465b9cf6d778bc283 Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net> From: Michael Krelin <hacker@klever.net>
Date: Mon, 29 Oct 2012 20:07:49 -0700 Date: Mon, 29 Oct 2012 20:07:49 -0700
Subject: [PATCH 4/6] qmake is already built in qtbase-native Subject: [PATCH 04/11] qmake is already built in qtbase-native
Ported from OE by: Yu Ke <ke.yu@intel.com> Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Inappropriate [configuration] Upstream-Status: Inappropriate [configuration]

View File

@ -1,7 +1,7 @@
From 41ee07272cea21621c26ddeb02a3756e94b29f9a Mon Sep 17 00:00:00 2001 From 41ee07272cea21621c26ddeb02a3756e94b29f9a Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com> From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Mon, 29 Oct 2012 20:26:36 -0700 Date: Mon, 29 Oct 2012 20:26:36 -0700
Subject: [PATCH 5/6] Allow building a separate qmake for the target Subject: [PATCH 05/11] Allow building a separate qmake for the target
Upstream-Status: Inappropriate [config] Upstream-Status: Inappropriate [config]

View File

@ -1,7 +1,7 @@
From 753924949e1d72c63283ecc904e2134fa76888d7 Mon Sep 17 00:00:00 2001 From 753924949e1d72c63283ecc904e2134fa76888d7 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Wed, 17 Apr 2013 18:06:25 +0200 Date: Wed, 17 Apr 2013 18:06:25 +0200
Subject: [PATCH 6/6] qt_functions: temporary remove isEmpty check Subject: [PATCH 06/11] qt_functions: temporary remove isEmpty check
* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value * now we assume that every build will provide QT_EXTERNAL_HOST_BINS value

View File

@ -0,0 +1,30 @@
From c6909ce9ed3e65833ae835d89b346fbb158a1127 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:33:33 +0200
Subject: [PATCH 08/11] configureapp: Prefix default LIBDIRS and INCDIRS with
SYSROOT
Change-Id: I275b30f67bc477d8e9a008f4894198859ec45017
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
tools/configure/configureapp.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index cfc6f97..d0e17fa 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -3087,8 +3087,8 @@ void Configure::generateQConfigPri()
configStream << "QT_HOST_CPU_FEATURES = " << dictionary["QT_HOST_CPU_FEATURES"] << endl;
if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) {
// FIXME: add detection
- configStream << "QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib" << endl;
- configStream << "QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include" << endl;
+ configStream << "QMAKE_DEFAULT_LIBDIRS = $$[QT_SYSROOT]/lib $$[QT_SYSROOT]/usr/lib" << endl;
+ configStream << "QMAKE_DEFAULT_INCDIRS = $$[QT_SYSROOT]/usr/include $$[QT_SYSROOT]/usr/local/include" << endl;
}
if (dictionary["QT_EDITION"].contains("OPENSOURCE"))
configStream << "QT_EDITION = " << QLatin1String("OpenSource") << endl;
--
1.8.2.1

View File

@ -0,0 +1,67 @@
From 0bd37923dec93270066fc4362db7e443475a4b06 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 23:15:37 +0200
Subject: [PATCH 09/11] qt_module: Fix pkgconfig replacement
* in situation like this:
QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm
QT_INSTALL_LIBS:/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib
QT_INSTALL_LIBS/raw:/usr/lib
QT_INSTALL_LIBS/get:/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib
I don't want the replacement like this:
sed
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/include,/usr/include/qt5,g"
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib,/usr/lib,g"
"../../lib/pkgconfig/Qt5Core.pc"
>"/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/image/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/Qt5Core.pc"
because that way I'll end with -L/usr/lib in .pc file which is
cross-compile unfriendly, keeping ${libdir}/${includedir} works better
in my case
Change-Id: Id0f9143c012b7fe7bb7bab0055687f4e0517f653
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt_module.prf | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 1132943..7fbfd8d 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -128,18 +128,30 @@ unix|win32-g++* {
rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
else: \
rplbase = $$MODULE_BASE_OUTDIR
+ pkgconfig_include_replace.match = $$rplbase/include
+ pkgconfig_include_replace.replace = "\$$\\{includedir}"
+ pkgconfig_lib_replace.match = $$rplbase/lib
+ pkgconfig_lib_replace.replace = "\$$\\{libdir}"
include_replace.match = $$rplbase/include
include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
lib_replace.match = $$rplbase/lib
lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
- QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
+
+ !isEmpty(SYSROOT): \
+ rplbase = $$[SYSROOT] \
+ lafile_replace.match = $$rplbase \
+ lafile_replace.replace = "=" \
+
+ QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace
QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
}
unix {
CONFIG += create_libtool explicitlib
QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS/raw]
- QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
+ QMAKE_LIBTOOL_INSTALL_REPLACE += lafile_replace
}
unix|win32-g++* {
--
1.8.2.1

View File

@ -0,0 +1,34 @@
From 10dde2fe0b7d8fe9ca7b4aa21d351b5dc01341c0 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:51:54 +0200
Subject: [PATCH 10/11] qmake/property: rename QT_INSTALL_CONFIGURATION to
QT_INSTALL_SETTINGS
* this variable is referenced from configure and configureapp.cpp as QT_INSTALL_SETTINGS
property.cpp was only place using name QT_INSTALL_CONFIGURATION
Upstream-Status: Submitted
https://codereview.qt-project.org/54912
Change-Id: I0f3c3b5c0527d22c0171674710cdbb32f10e990f
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qmake/property.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qmake/property.cpp b/qmake/property.cpp
index c1b7a9f..af2eacf 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -68,7 +68,7 @@ static const struct {
{ "QT_INSTALL_IMPORTS", QLibraryInfo::ImportsPath, false },
{ "QT_INSTALL_QML", QLibraryInfo::Qml2ImportsPath, false },
{ "QT_INSTALL_TRANSLATIONS", QLibraryInfo::TranslationsPath, false },
- { "QT_INSTALL_CONFIGURATION", QLibraryInfo::SettingsPath, false },
+ { "QT_INSTALL_SETTINGS", QLibraryInfo::SettingsPath, false },
{ "QT_INSTALL_EXAMPLES", QLibraryInfo::ExamplesPath, false },
{ "QT_INSTALL_DEMOS", QLibraryInfo::ExamplesPath, false }, // Just backwards compat
{ "QT_HOST_PREFIX", QLibraryInfo::HostPrefixPath, true },
--
1.8.2.1

View File

@ -0,0 +1,61 @@
From 851960243212ffe0ac25d0fea236b7a8bc0e5dc5 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 28 Apr 2013 12:56:55 +0200
Subject: [PATCH 11/11] qt_module: Fix paths in .prl files
* qmake does not prefix them with QT_SYSROOT when using them
so e.g. when building qtdeclarative we get -L/usr/lib to LINKAGE
variable, which is unsafe for cross-compilation
* writting QT_SYSROOT in .prl files is dangerous for sstate when
builds are in different directories, so we need
SSTATE_SCAN_FILES += "*.pri *.prl"
to make them relocateble
Change-Id: I4b66dcad539a3ba876d8e4ee2eb2ccd626cd03ea
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt_module.prf | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 7fbfd8d..226119f 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -132,17 +132,23 @@ unix|win32-g++* {
pkgconfig_include_replace.replace = "\$$\\{includedir}"
pkgconfig_lib_replace.match = $$rplbase/lib
pkgconfig_lib_replace.replace = "\$$\\{libdir}"
- include_replace.match = $$rplbase/include
- include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
- lib_replace.match = $$rplbase/lib
- lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
- lafile_replace.match = $$rplbase
- lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
-
- !isEmpty(SYSROOT): \
- rplbase = $$[SYSROOT] \
- lafile_replace.match = $$rplbase \
- lafile_replace.replace = "=" \
+ !exists($$[QT_SYSROOT]) {
+ include_replace.match = $$rplbase/include
+ include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
+ lib_replace.match = $$rplbase/lib
+ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "$$[QT_INSTALL_PREFIX/raw]"
+ } else {
+ # include_replace and lib_replace are duplicate, but we don't want to
+ # make QMAKE_PKGCONFIG_INSTALL_REPLACE, QMAKE_PRL_INSTALL_REPLACE conditional
+ include_replace.match = $$rplbase
+ include_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw]
+ lib_replace.match = $$rplbase
+ lib_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw]
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
+ }
QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace
QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
--
1.8.2.1

View File

@ -1,7 +1,7 @@
From 21001bb1c68fdc22ee243c562549f7b3a8a8ed84 Mon Sep 17 00:00:00 2001 From 0cdd1297e98edd3368a6b923923ff6cf0684d800 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Mon, 15 Apr 2013 04:29:32 +0200 Date: Mon, 15 Apr 2013 04:29:32 +0200
Subject: [PATCH 1/6] Add linux-oe-g++ platform Subject: [PATCH 01/11] Add linux-oe-g++ platform
* This qmake.conf unlike other platforms reads most variables from * This qmake.conf unlike other platforms reads most variables from
shell environment, because it's easier for qt recipes to export shell environment, because it's easier for qt recipes to export
@ -41,7 +41,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h
diff --git a/configure b/configure diff --git a/configure b/configure
index 55a643a..666576f 100755 index 9c86fa1..7dea731 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -284,6 +284,16 @@ getQMakeConf() @@ -284,6 +284,16 @@ getQMakeConf()

View File

@ -1,8 +1,8 @@
From 80cdde4c31e6e5f534ca5e218b9b5cc5fd079b9a Mon Sep 17 00:00:00 2001 From a256652b730e88566eb04dd7cdc39d5a1281c7fe Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@selfish.org> From: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200 Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 2/6] qlibraryinfo: allow to set qt.conf from the outside using Subject: [PATCH 02/11] qlibraryinfo: allow to set qt.conf from the outside
the environment using the environment
Allow to set a qt.conf from the outside using the environment. This allows Allow to set a qt.conf from the outside using the environment. This allows
to inject new prefixes and other paths into qmake. This is needed when using to inject new prefixes and other paths into qmake. This is needed when using

View File

@ -1,7 +1,7 @@
From e8fe1934151a47fd3ec86fb0054e137237fa69b7 Mon Sep 17 00:00:00 2001 From c244c6a89f6f70a2443748475f482cc97e3ac118 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 6 Apr 2013 13:15:07 +0200 Date: Sat, 6 Apr 2013 13:15:07 +0200
Subject: [PATCH 3/6] Add -external-hostbindir option Subject: [PATCH 03/11] Add -external-hostbindir option
* when cross-compiling it's sometimes useful to use existing tools from machine * 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 (or in OpenEmbedded built with separate native recipe) when building for target
@ -21,7 +21,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
8 files changed, 42 insertions(+), 8 deletions(-) 8 files changed, 42 insertions(+), 8 deletions(-)
diff --git a/configure b/configure diff --git a/configure b/configure
index 666576f..93dbfab 100755 index 7dea731..65f4d26 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -1034,6 +1034,7 @@ CFG_GCC_SYSROOT="yes" @@ -1034,6 +1034,7 @@ CFG_GCC_SYSROOT="yes"
@ -98,10 +98,10 @@ index 8cd2473..876f657 100644
exists($$eval($$1).bat) { exists($$eval($$1).bat) {
$$1 = $$eval($$1).bat $$1 = $$eval($$1).bat
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 46d031f..5758604 100644 index 0a58880..c110ea5 100644
--- a/mkspecs/features/qt_tool.prf --- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf +++ b/mkspecs/features/qt_tool.prf
@@ -37,7 +37,7 @@ load(qt_common) @@ -16,7 +16,7 @@ CONFIG += console
# If we are doing a prefix build, create a "module" pri which enables # If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build. # qtPrepareTool() to work with the non-installed build.
# Non-bootstrapped tools always need this because of the environment setup. # Non-bootstrapped tools always need this because of the environment setup.
@ -189,10 +189,10 @@ index 1a00a14..7e4829c 100644
HostSpecPath, HostSpecPath,
LastHostPath = HostSpecPath, LastHostPath = HostSpecPath,
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index dc11c0d..6d79631 100644 index a18aac3..57409b1 100644
--- a/tools/configure/configureapp.cpp --- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp
@@ -1167,6 +1167,13 @@ void Configure::parseCmdLine() @@ -1173,6 +1173,13 @@ void Configure::parseCmdLine()
dictionary[ "QT_HOST_DATA" ] = configCmdLine.at(i); dictionary[ "QT_HOST_DATA" ] = configCmdLine.at(i);
} }
@ -206,7 +206,7 @@ index dc11c0d..6d79631 100644
else if (configCmdLine.at(i) == "-make-tool") { else if (configCmdLine.at(i) == "-make-tool") {
++i; ++i;
if (i == argCount) if (i == argCount)
@@ -3763,6 +3770,7 @@ void Configure::generateQConfigCpp() @@ -3775,6 +3782,7 @@ void Configure::generateQConfigCpp()
<< " \"qt_hpfxpath=" << formatPath(dictionary["QT_HOST_PREFIX"]) << "\"," << endl << " \"qt_hpfxpath=" << formatPath(dictionary["QT_HOST_PREFIX"]) << "\"," << endl
<< " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl << " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
<< " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl << " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl

View File

@ -1,7 +1,7 @@
From 915a980742cd072df6faa386daf3f937f5b5b215 Mon Sep 17 00:00:00 2001 From d0f322cf4ee9ead48997bb3e3a2c137bba91141b Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net> From: Michael Krelin <hacker@klever.net>
Date: Mon, 29 Oct 2012 20:07:49 -0700 Date: Mon, 29 Oct 2012 20:07:49 -0700
Subject: [PATCH 4/6] qmake is already built in qtbase-native Subject: [PATCH 04/11] qmake is already built in qtbase-native
Ported from OE by: Yu Ke <ke.yu@intel.com> Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Inappropriate [configuration] Upstream-Status: Inappropriate [configuration]
@ -13,7 +13,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure diff --git a/configure b/configure
index 93dbfab..dd5e646 100755 index 65f4d26..dbf99a9 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -3938,7 +3938,7 @@ setBootstrapEvalVariable() @@ -3938,7 +3938,7 @@ setBootstrapEvalVariable()

View File

@ -1,7 +1,7 @@
From f1246cedac44bfacb5a475d4ed247a3ac00c67d0 Mon Sep 17 00:00:00 2001 From a6a15ff0150ca685909782f0ca861fa4336f33b3 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com> From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Mon, 29 Oct 2012 20:26:36 -0700 Date: Mon, 29 Oct 2012 20:26:36 -0700
Subject: [PATCH 5/6] Allow building a separate qmake for the target Subject: [PATCH 05/11] Allow building a separate qmake for the target
Upstream-Status: Inappropriate [config] Upstream-Status: Inappropriate [config]

View File

@ -1,7 +1,7 @@
From 6d1c296d6df2c5efd8aec3272e7eacae1c093885 Mon Sep 17 00:00:00 2001 From e356895802c2a1e596882c79161994ebbf361d65 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Wed, 17 Apr 2013 18:06:25 +0200 Date: Wed, 17 Apr 2013 18:06:25 +0200
Subject: [PATCH 6/6] qt_functions: temporary remove isEmpty check Subject: [PATCH 06/11] qt_functions: temporary remove isEmpty check
* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value * now we assume that every build will provide QT_EXTERNAL_HOST_BINS value
@ -29,10 +29,10 @@ index 876f657..0e094a8 100644
} }
contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) { contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 5758604..37b50d4 100644 index c110ea5..34ee9ca 100644
--- a/mkspecs/features/qt_tool.prf --- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf +++ b/mkspecs/features/qt_tool.prf
@@ -36,8 +36,7 @@ load(qt_common) @@ -15,8 +15,7 @@ CONFIG += console
# If we are doing a prefix build, create a "module" pri which enables # If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build. # qtPrepareTool() to work with the non-installed build.

View File

@ -0,0 +1,29 @@
From 6c494ea0e73c9ef60f45e7fdc0de40bb51ad5ac6 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:33:33 +0200
Subject: [PATCH 08/11] configureapp: Prefix default LIBDIRS and INCDIRS with
SYSROOT
Change-Id: I464c25888ab8b99ced6bd669b5c6448d491725a8
---
tools/configure/configureapp.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 57409b1..f443007 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -3172,8 +3172,8 @@ void Configure::generateQConfigPri()
configStream << "QT_HOST_CPU_FEATURES = " << dictionary["QT_HOST_CPU_FEATURES"] << endl;
if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) {
// FIXME: add detection
- configStream << "QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib" << endl;
- configStream << "QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include" << endl;
+ configStream << "QMAKE_DEFAULT_LIBDIRS = $$[QT_SYSROOT]/lib $$[QT_SYSROOT]/usr/lib" << endl;
+ configStream << "QMAKE_DEFAULT_INCDIRS = $$[QT_SYSROOT]/usr/include $$[QT_SYSROOT]/usr/local/include" << endl;
}
if (dictionary["QT_EDITION"].contains("OPENSOURCE"))
configStream << "QT_EDITION = " << QLatin1String("OpenSource") << endl;
--
1.8.2.1

View File

@ -0,0 +1,67 @@
From 72f1087fef0e506b9ab015498f5c7a4b3161c6f3 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 23:15:37 +0200
Subject: [PATCH 09/11] qt_module: Fix pkgconfig replacement
* in situation like this:
QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm
QT_INSTALL_LIBS:/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib
QT_INSTALL_LIBS/raw:/usr/lib
QT_INSTALL_LIBS/get:/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib
I don't want the replacement like this:
sed
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/include,/usr/include/qt5,g"
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib,/usr/lib,g"
"../../lib/pkgconfig/Qt5Core.pc"
>"/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/image/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/Qt5Core.pc"
because that way I'll end with -L/usr/lib in .pc file which is
cross-compile unfriendly, keeping ${libdir}/${includedir} works better
in my case
Change-Id: Id0f9143c012b7fe7bb7bab0055687f4e0517f653
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt_module.prf | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 3531d28..1c43972 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -136,18 +136,30 @@ unix|win32-g++* {
rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
else: \
rplbase = $$MODULE_BASE_OUTDIR
+ pkgconfig_include_replace.match = $$rplbase/include
+ pkgconfig_include_replace.replace = "\$$\\{includedir}"
+ pkgconfig_lib_replace.match = $$rplbase/lib
+ pkgconfig_lib_replace.replace = "\$$\\{libdir}"
include_replace.match = $$rplbase/include
include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
lib_replace.match = $$rplbase/lib
lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
- QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
+
+ !isEmpty(SYSROOT): \
+ rplbase = $$[SYSROOT] \
+ lafile_replace.match = $$rplbase \
+ lafile_replace.replace = "=" \
+
+ QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace
QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
}
unix {
CONFIG += create_libtool explicitlib
QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS/raw]
- QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
+ QMAKE_LIBTOOL_INSTALL_REPLACE += lafile_replace
}
unix|win32-g++* {
--
1.8.2.1

View File

@ -0,0 +1,33 @@
From 6d816874a95cb85bdf96e06f763e21c098d92b89 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:51:54 +0200
Subject: [PATCH 10/11] qmake/property: rename QT_INSTALL_CONFIGURATION to
QT_INSTALL_SETTINGS
* this variable is referenced from configure and configureapp.cpp as QT_INSTALL_SETTINGS
property.cpp was only place using name QT_INSTALL_CONFIGURATION
Upstream-Status: Submitted
https://codereview.qt-project.org/54912
Change-Id: I3ba40d5f8773fe9aea728c5b2418aa55cecc92da
---
qmake/property.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qmake/property.cpp b/qmake/property.cpp
index c1b7a9f..af2eacf 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -68,7 +68,7 @@ static const struct {
{ "QT_INSTALL_IMPORTS", QLibraryInfo::ImportsPath, false },
{ "QT_INSTALL_QML", QLibraryInfo::Qml2ImportsPath, false },
{ "QT_INSTALL_TRANSLATIONS", QLibraryInfo::TranslationsPath, false },
- { "QT_INSTALL_CONFIGURATION", QLibraryInfo::SettingsPath, false },
+ { "QT_INSTALL_SETTINGS", QLibraryInfo::SettingsPath, false },
{ "QT_INSTALL_EXAMPLES", QLibraryInfo::ExamplesPath, false },
{ "QT_INSTALL_DEMOS", QLibraryInfo::ExamplesPath, false }, // Just backwards compat
{ "QT_HOST_PREFIX", QLibraryInfo::HostPrefixPath, true },
--
1.8.2.1

View File

@ -0,0 +1,61 @@
From 57da761a8e1995a20250c6600bc99937a7b203b4 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 28 Apr 2013 12:56:55 +0200
Subject: [PATCH 11/11] qt_module: Fix paths in .prl files
* qmake does not prefix them with QT_SYSROOT when using them
so e.g. when building qtdeclarative we get -L/usr/lib to LINKAGE
variable, which is unsafe for cross-compilation
* writting QT_SYSROOT in .prl files is dangerous for sstate when
builds are in different directories, so we need
SSTATE_SCAN_FILES += "*.pri *.prl"
to make them relocateble
Change-Id: I4b66dcad539a3ba876d8e4ee2eb2ccd626cd03ea
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt_module.prf | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 1c43972..feec2d5 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -140,17 +140,23 @@ unix|win32-g++* {
pkgconfig_include_replace.replace = "\$$\\{includedir}"
pkgconfig_lib_replace.match = $$rplbase/lib
pkgconfig_lib_replace.replace = "\$$\\{libdir}"
- include_replace.match = $$rplbase/include
- include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
- lib_replace.match = $$rplbase/lib
- lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
- lafile_replace.match = $$rplbase
- lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
-
- !isEmpty(SYSROOT): \
- rplbase = $$[SYSROOT] \
- lafile_replace.match = $$rplbase \
- lafile_replace.replace = "=" \
+ !exists($$[QT_SYSROOT]) {
+ include_replace.match = $$rplbase/include
+ include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
+ lib_replace.match = $$rplbase/lib
+ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "$$[QT_INSTALL_PREFIX/raw]"
+ } else {
+ # include_replace and lib_replace are duplicate, but we don't want to
+ # make QMAKE_PKGCONFIG_INSTALL_REPLACE, QMAKE_PRL_INSTALL_REPLACE conditional
+ include_replace.match = $$rplbase
+ include_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw]
+ lib_replace.match = $$rplbase
+ lib_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw]
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
+ }
QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace
QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
--
1.8.2.1

View File

@ -1,7 +1,7 @@
From f5d5c9778031fbb807753c67133ddda35f9a0e30 Mon Sep 17 00:00:00 2001 From f5d5c9778031fbb807753c67133ddda35f9a0e30 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Mon, 15 Apr 2013 04:29:32 +0200 Date: Mon, 15 Apr 2013 04:29:32 +0200
Subject: [PATCH 1/6] Add linux-oe-g++ platform Subject: [PATCH 01/11] Add linux-oe-g++ platform
* This qmake.conf unlike other platforms reads most variables from * This qmake.conf unlike other platforms reads most variables from
shell environment, because it's easier for qt recipes to export shell environment, because it's easier for qt recipes to export

View File

@ -1,8 +1,8 @@
From 29812cee9589dedd10a94b66ed5279549ed62f36 Mon Sep 17 00:00:00 2001 From 29812cee9589dedd10a94b66ed5279549ed62f36 Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@selfish.org> From: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200 Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 2/6] qlibraryinfo: allow to set qt.conf from the outside using Subject: [PATCH 02/11] qlibraryinfo: allow to set qt.conf from the outside
the environment using the environment
Allow to set a qt.conf from the outside using the environment. This allows Allow to set a qt.conf from the outside using the environment. This allows
to inject new prefixes and other paths into qmake. This is needed when using to inject new prefixes and other paths into qmake. This is needed when using

View File

@ -1,7 +1,7 @@
From 72d8aaf00e3d722b56b66bd5fa1f1f3d3e8a8552 Mon Sep 17 00:00:00 2001 From 72d8aaf00e3d722b56b66bd5fa1f1f3d3e8a8552 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 6 Apr 2013 13:15:07 +0200 Date: Sat, 6 Apr 2013 13:15:07 +0200
Subject: [PATCH 3/6] Add -external-hostbindir option Subject: [PATCH 03/11] Add -external-hostbindir option
* when cross-compiling it's sometimes useful to use existing tools from machine * 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 (or in OpenEmbedded built with separate native recipe) when building for target
@ -118,7 +118,7 @@ index bbd4734..dca0c58 100644
{ "QT_HOST_PREFIX", QLibraryInfo::HostPrefixPath, true }, { "QT_HOST_PREFIX", QLibraryInfo::HostPrefixPath, true },
{ "QT_HOST_DATA", QLibraryInfo::HostDataPath, true }, { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
{ "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true }, { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, false }, + { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
{ "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true }, { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
{ "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true }, { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
}; };

View File

@ -1,7 +1,7 @@
From 956195c897287787b545e570ee976d1d2917eca8 Mon Sep 17 00:00:00 2001 From 956195c897287787b545e570ee976d1d2917eca8 Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net> From: Michael Krelin <hacker@klever.net>
Date: Mon, 29 Oct 2012 20:07:49 -0700 Date: Mon, 29 Oct 2012 20:07:49 -0700
Subject: [PATCH 4/6] qmake is already built in qtbase-native Subject: [PATCH 04/11] qmake is already built in qtbase-native
Ported from OE by: Yu Ke <ke.yu@intel.com> Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Inappropriate [configuration] Upstream-Status: Inappropriate [configuration]

View File

@ -1,7 +1,7 @@
From d33f33aed6744b5c4c561e6c6527d784481604f5 Mon Sep 17 00:00:00 2001 From d33f33aed6744b5c4c561e6c6527d784481604f5 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com> From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Mon, 29 Oct 2012 20:26:36 -0700 Date: Mon, 29 Oct 2012 20:26:36 -0700
Subject: [PATCH 5/6] Allow building a separate qmake for the target Subject: [PATCH 05/11] Allow building a separate qmake for the target
Upstream-Status: Inappropriate [config] Upstream-Status: Inappropriate [config]

View File

@ -1,7 +1,7 @@
From 5856e25a0653313b8f80a5a92a7817fe8eb39dc8 Mon Sep 17 00:00:00 2001 From 5856e25a0653313b8f80a5a92a7817fe8eb39dc8 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Wed, 17 Apr 2013 18:06:25 +0200 Date: Wed, 17 Apr 2013 18:06:25 +0200
Subject: [PATCH 6/6] qt_functions: temporary remove isEmpty check Subject: [PATCH 06/11] qt_functions: temporary remove isEmpty check
* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value * now we assume that every build will provide QT_EXTERNAL_HOST_BINS value

View File

@ -1,9 +1,10 @@
From 1548dbf04ab1dbc45e514478fb82b4a0827140b1 Mon Sep 17 00:00:00 2001 From 4ba11842fa29ba28a05b3e8e511432fe360b4957 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:33:33 +0200 Date: Sat, 27 Apr 2013 22:33:33 +0200
Subject: [PATCH 8/8] configureapp: Prefix default LIBDIRS and INCDIRS with Subject: [PATCH 08/11] configureapp: Prefix default LIBDIRS and INCDIRS with
SYSROOT SYSROOT
Change-Id: I275b30f67bc477d8e9a008f4894198859ec45017
--- ---
tools/configure/configureapp.cpp | 4 ++-- tools/configure/configureapp.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)

View File

@ -1,7 +1,7 @@
From 1120258fc6a60972523186e85c2c762b79e7a6c2 Mon Sep 17 00:00:00 2001 From 4ba266bc0a7e4841cfd06d555b39888928a6e3a5 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 23:15:37 +0200 Date: Sat, 27 Apr 2013 23:15:37 +0200
Subject: [PATCH 9/9] qt_module: Fix pkgconfig replacement Subject: [PATCH 09/11] qt_module: Fix pkgconfig replacement
* in situation like this: * in situation like this:
QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm

View File

@ -1,12 +1,15 @@
From b00e2fa5ade9bed1b75f4629cc7ba2c3ec9e429f Mon Sep 17 00:00:00 2001 From 5b01ec1b8da7fc949efea262647a9d6010c670f4 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:51:54 +0200 Date: Sat, 27 Apr 2013 22:51:54 +0200
Subject: [PATCH 10/10] qmake/property: rename QT_INSTALL_CONFIGURATION to Subject: [PATCH 10/11] qmake/property: rename QT_INSTALL_CONFIGURATION to
QT_INSTALL_SETTINGS QT_INSTALL_SETTINGS
* this variable is referenced from configure and configureapp.cpp as QT_INSTALL_SETTINGS * this variable is referenced from configure and configureapp.cpp as QT_INSTALL_SETTINGS
property.cpp was only place using name QT_INSTALL_CONFIGURATION property.cpp was only place using name QT_INSTALL_CONFIGURATION
Upstream-Status: Submitted
https://codereview.qt-project.org/54912
Change-Id: I3ba40d5f8773fe9aea728c5b2418aa55cecc92da Change-Id: I3ba40d5f8773fe9aea728c5b2418aa55cecc92da
--- ---
qmake/property.cpp | 2 +- qmake/property.cpp | 2 +-

View File

@ -1,4 +1,4 @@
From 4af56553508993944e8ba6688c182d0e49eee1a1 Mon Sep 17 00:00:00 2001 From 1809b8b32d3b8a689eb5d40f096b3541345ff219 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com> From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 28 Apr 2013 12:56:55 +0200 Date: Sun, 28 Apr 2013 12:56:55 +0200
Subject: [PATCH 11/11] qt_module: Fix paths in .prl files Subject: [PATCH 11/11] qt_module: Fix paths in .prl files