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: Martin Jansa <Martin.Jansa@gmail.com>
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
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: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 2/6] qlibraryinfo: allow to set qt.conf from the outside using
the environment
Subject: [PATCH 02/11] qlibraryinfo: allow to set qt.conf from the outside
using the environment
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

View File

@ -1,7 +1,7 @@
From 79f1b015148779b92dc6e65dffd297b8b9522f79 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 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
(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: Michael Krelin <hacker@klever.net>
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>
Upstream-Status: Inappropriate [configuration]

View File

@ -1,7 +1,7 @@
From 41ee07272cea21621c26ddeb02a3756e94b29f9a Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
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]

View File

@ -1,7 +1,7 @@
From 753924949e1d72c63283ecc904e2134fa76888d7 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
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

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>
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
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
diff --git a/configure b/configure
index 55a643a..666576f 100755
index 9c86fa1..7dea731 100755
--- a/configure
+++ b/configure
@@ -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>
Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 2/6] qlibraryinfo: allow to set qt.conf from the outside using
the environment
Subject: [PATCH 02/11] qlibraryinfo: allow to set qt.conf from the outside
using the environment
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

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>
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
(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(-)
diff --git a/configure b/configure
index 666576f..93dbfab 100755
index 7dea731..65f4d26 100755
--- a/configure
+++ b/configure
@@ -1034,6 +1034,7 @@ CFG_GCC_SYSROOT="yes"
@ -98,10 +98,10 @@ index 8cd2473..876f657 100644
exists($$eval($$1).bat) {
$$1 = $$eval($$1).bat
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
+++ 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
# qtPrepareTool() to work with the non-installed build.
# Non-bootstrapped tools always need this because of the environment setup.
@ -189,10 +189,10 @@ index 1a00a14..7e4829c 100644
HostSpecPath,
LastHostPath = HostSpecPath,
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
+++ 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);
}
@ -206,7 +206,7 @@ index dc11c0d..6d79631 100644
else if (configCmdLine.at(i) == "-make-tool") {
++i;
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_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << 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>
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>
Upstream-Status: Inappropriate [configuration]
@ -13,7 +13,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 93dbfab..dd5e646 100755
index 65f4d26..dbf99a9 100755
--- a/configure
+++ b/configure
@@ -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>
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]

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>
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
@ -29,10 +29,10 @@ index 876f657..0e094a8 100644
}
contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
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
+++ 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
# 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: Martin Jansa <Martin.Jansa@gmail.com>
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
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: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 2/6] qlibraryinfo: allow to set qt.conf from the outside using
the environment
Subject: [PATCH 02/11] qlibraryinfo: allow to set qt.conf from the outside
using the environment
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

View File

@ -1,7 +1,7 @@
From 72d8aaf00e3d722b56b66bd5fa1f1f3d3e8a8552 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 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
(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_DATA", QLibraryInfo::HostDataPath, 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_XSPEC", QLibraryInfo::TargetSpecPath, true },
};

View File

@ -1,7 +1,7 @@
From 956195c897287787b545e570ee976d1d2917eca8 Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net>
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>
Upstream-Status: Inappropriate [configuration]

View File

@ -1,7 +1,7 @@
From d33f33aed6744b5c4c561e6c6527d784481604f5 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
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]

View File

@ -1,7 +1,7 @@
From 5856e25a0653313b8f80a5a92a7817fe8eb39dc8 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
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

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>
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
Change-Id: I275b30f67bc477d8e9a008f4894198859ec45017
---
tools/configure/configureapp.cpp | 4 ++--
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>
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:
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>
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
* 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 +-

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>
Date: Sun, 28 Apr 2013 12:56:55 +0200
Subject: [PATCH 11/11] qt_module: Fix paths in .prl files