summaryrefslogtreecommitdiffstats
path: root/src/qtbase-1.cherrypicks.patch
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2013-01-27 13:25:22 (GMT)
committerMark Brand <mabrand@mabrand.nl>2013-01-27 13:27:21 (GMT)
commitf98349455a69ffa3cf3a78b86f90a1d7f0c6043b (patch)
tree885251805aab2adb9c77578d669cb5ff8d9402e2 /src/qtbase-1.cherrypicks.patch
parent695203fdf39470b06d7863a2f7a24131c95933d5 (diff)
downloadmxe-f98349455a69ffa3cf3a78b86f90a1d7f0c6043b.zip
mxe-f98349455a69ffa3cf3a78b86f90a1d7f0c6043b.tar.gz
mxe-f98349455a69ffa3cf3a78b86f90a1d7f0c6043b.tar.bz2
package qtbase: improvements to prl and pc metafiles
Diffstat (limited to 'src/qtbase-1.cherrypicks.patch')
-rw-r--r--src/qtbase-1.cherrypicks.patch203
1 files changed, 157 insertions, 46 deletions
diff --git a/src/qtbase-1.cherrypicks.patch b/src/qtbase-1.cherrypicks.patch
index 28f8751..314806b 100644
--- a/src/qtbase-1.cherrypicks.patch
+++ b/src/qtbase-1.cherrypicks.patch
@@ -4,7 +4,7 @@ See index.html for further information.
From 34475e6e4d05051ba80197846d932acb9492663b Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Mon, 24 Sep 2012 19:53:55 +0200
-Subject: [PATCH 1/6] use pkg-config for freetype
+Subject: [PATCH 1/9] use pkg-config for freetype
Change-Id: Id0b048b44bcebf066c21efeb89f9c1781023a593
@@ -30,7 +30,7 @@ index 7f73465..1de1d74 100644
From 6338d13b9ed413f68af28d112ca6d5c59e9df45d Mon Sep 17 00:00:00 2001
From: Miikka Heikkinen <miikka.heikkinen@digia.com>
Date: Fri, 14 Dec 2012 11:51:28 +0200
-Subject: [PATCH 2/6] Fix installation of plugin module .pris in static Qt
+Subject: [PATCH 2/9] Fix installation of plugin module .pris in static Qt
builds
When building Qt static, plugins get module .pri file, but those files
@@ -82,7 +82,7 @@ index f547e2d..6e5f27b 100644
From f804729c85813fa0df696ccb3be8714e453c32f2 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Wed, 19 Dec 2012 23:44:05 +0100
-Subject: [PATCH 3/6] fix QMAKE_MAKE for x-mingw
+Subject: [PATCH 3/9] fix QMAKE_MAKE for x-mingw
Change-Id: I694c74046a307c2887af1c30cca36f95e242adc1
@@ -118,7 +118,7 @@ index ff52c6b..39144e7 100644
From 413f3df786a1d12e0a7cb07cf8c0fd135f06e57f Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Sat, 22 Dec 2012 17:45:34 +0100
-Subject: [PATCH 4/6] WIP: qmake writeFile(): work around concurrent
+Subject: [PATCH 4/9] WIP: qmake writeFile(): work around concurrent
QDir::mkpath() failure
This actually happened when building qtimageformats with make -j4.
@@ -156,10 +156,10 @@ index bafa867..d8b03f7 100644
1.7.10.4
-From 240ea06f01981baa243684d183b7b7d2cd3ffe0a Mon Sep 17 00:00:00 2001
+From fbf3bacff5acc30e67b51dcf7abdd34d3b7811bc Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Fri, 11 Jan 2013 00:30:41 +0100
-Subject: [PATCH 5/6] consolidate generation of metafile install targets
+Subject: [PATCH 5/9] consolidate generation of metafile install targets
Metafiles such as .prl and .pc files contain paths that have to be
adjusted during installation. The same code is used for unix and
@@ -168,14 +168,14 @@ windows so move it into the base class.
Change-Id: I82db89ec83820a4fa0214ba15e7cd63438f6dc91
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
-index 0456d6b..c323625 100644
+index 0456d6b..d7202d0 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -3285,4 +3285,25 @@ MakefileGenerator::writePkgConfigFile()
t << endl;
}
-+QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const ProString &src, const QString &dst)
++QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst)
+{
+ QString ret;
+ if (project->isEmpty(replace_rule)
@@ -198,20 +198,20 @@ index 0456d6b..c323625 100644
+
QT_END_NAMESPACE
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
-index 0b471d0..5bae827 100644
+index 0b471d0..a686d8f 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -248,6 +248,8 @@ protected:
inline QStringList fileFixify(const QStringList& files, FileFixifyType fix, bool canon=true) const
{ return fileFixify(files, QString(), QString(), fix, canon); }
-+ QString installMetaFile(const ProKey &replace_rule, const ProString &src, const QString &dst);
++ QString installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst);
+
public:
MakefileGenerator();
virtual ~MakefileGenerator();
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
-index 8a1a29c..77995eb 100644
+index 8a1a29c..28c4fba 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -868,32 +868,15 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
@@ -246,12 +246,12 @@ index 8a1a29c..77995eb 100644
- }
+ if (!ret.isEmpty())
+ ret += "\n\t";
-+ ret += installMetaFile(ProKey("QMAKE_" + type.toUpper() + "_INSTALL_REPLACE"), ProString(src_meta), dst_meta);
++ ret += installMetaFile(ProKey("QMAKE_" + type.toUpper() + "_INSTALL_REPLACE"), src_meta, dst_meta);
}
}
}
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
-index fc98c3d..a614bf9 100644
+index fc98c3d..145dddc 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -846,22 +846,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
@@ -274,7 +274,7 @@ index fc98c3d..a614bf9 100644
- }
- ret += " \"" + pkgConfigFileName(true) + "\" >\"" + dst_pc + "\"";
- }
-+ ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), ProString(pkgConfigFileName(true)), dst_pc);
++ ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true), dst_pc);
if(!uninst.isEmpty())
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) \"" + dst_pc + "\"");
@@ -282,27 +282,24 @@ index fc98c3d..a614bf9 100644
1.7.10.4
-From 97b4255f44a5e07b2c0bef4819e4c286d989a6be Mon Sep 17 00:00:00 2001
+From ec08dee48e4ebba9156ec6d40fe24f485dab133e Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Fri, 11 Jan 2013 00:30:25 +0100
-Subject: [PATCH 6/6] adjust paths in installed prl files for windows
+Subject: [PATCH 6/9] adjust paths in installed prl files for mingw
Task-number: QTBUG-28902
Change-Id: Ice9983a69813690c0d4b96ca11589440182569a0
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
-index 22cec4d..a436a8c 100644
+index 22cec4d..2a88e02 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
-@@ -173,6 +173,7 @@ load(qt_installs)
-
- unix|win32-g++* {
- CONFIG += create_pc
+@@ -186,11 +186,11 @@ unix|win32-g++* {
+ lib_replace.match = $$rplbase/lib
+ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
+ QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace
+ QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
- QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw]
- QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
- QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME
-@@ -190,7 +191,6 @@ unix|win32-g++* {
+ }
unix {
CONFIG += create_libtool explicitlib
@@ -311,27 +308,25 @@ index 22cec4d..a436a8c 100644
QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
}
diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
-index 6e5f27b..9851e1e 100644
+index 6e5f27b..fd53c73 100644
--- a/mkspecs/features/qt_plugin.prf
+++ b/mkspecs/features/qt_plugin.prf
-@@ -47,3 +47,15 @@ load(qt_targets)
+@@ -47,3 +47,13 @@ load(qt_targets)
wince*:LIBS += $$QMAKE_LIBS_GUI
QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+
+unix|win32-g++* {
-+ QMAKE_PRL_INSTALL_REPLACE += lib_replace
-+ !isEmpty(_QMAKE_SUPER_CACHE_): \
-+ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
-+ else:!isEmpty(MODULE_QMAKE_OUTDIR): \
-+ rplbase = $$MODULE_QMAKE_OUTDIR
-+ else: \
-+ rplbase = $$[QT_INSTALL_PREFIX/get]
-+ lib_replace.match = $$rplbase/lib
-+ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
++ !isEmpty(_QMAKE_SUPER_CACHE_): \
++ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
++ else: \
++ rplbase = $$MODULE_QMAKE_OUTDIR
++ lib_replace.match = $$rplbase/lib
++ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
++ QMAKE_PRL_INSTALL_REPLACE += lib_replace
+}
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
-index a614bf9..bc692e5 100644
+index 145dddc..f8633f3 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -829,7 +829,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
@@ -339,12 +334,12 @@ index a614bf9..bc692e5 100644
dst_prl = dst_prl.right(dst_prl.length() - slsh - 1);
dst_prl = filePrefixRoot(root, targetdir + dst_prl);
- ret += "-$(INSTALL_FILE) \"" + project->first("QMAKE_INTERNAL_PRL_FILE") + "\" \"" + dst_prl + "\"";
-+ ret += installMetaFile(ProKey("QMAKE_PRL_INSTALL_REPLACE"), project->first("QMAKE_INTERNAL_PRL_FILE"), dst_prl);
++ ret += installMetaFile(ProKey("QMAKE_PRL_INSTALL_REPLACE"), project->first("QMAKE_INTERNAL_PRL_FILE").toQString(), dst_prl);
if(!uninst.isEmpty())
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) \"" + dst_prl + "\"");
diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
-index e5da5bd..7b1c4ee 100644
+index e5da5bd..cf2fe45 100644
--- a/src/winmain/winmain.pro
+++ b/src/winmain/winmain.pro
@@ -25,3 +25,13 @@ TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
@@ -353,14 +348,130 @@ index e5da5bd..7b1c4ee 100644
wince*:QMAKE_POST_LINK =
+
+unix|win32-g++* {
-+ QMAKE_PRL_INSTALL_REPLACE += lib_replace
-+ !isEmpty(_QMAKE_SUPER_CACHE_): \
-+ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
-+ else: \
-+ rplbase = $$[QT_INSTALL_PREFIX/get]
-+ lib_replace.match = $$rplbase/lib
-+ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
++ !isEmpty(_QMAKE_SUPER_CACHE_): \
++ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
++ else: \
++ rplbase = $$[QT_INSTALL_PREFIX/get]
++ lib_replace.match = $$rplbase/lib
++ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
++ QMAKE_PRL_INSTALL_REPLACE += lib_replace
+}
--
1.7.10.4
+
+From fa7432005e3c228a09abd364369a526a06738081 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Fri, 11 Jan 2013 23:13:42 +0100
+Subject: [PATCH 7/9] adjust paths in installed module metafiles
+
+Change-Id: I056a923288965b560a4e9b0ba7add1aac912199f
+
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index 2a88e02..d3d886f 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -180,7 +180,7 @@ unix|win32-g++* {
+ !isEmpty(_QMAKE_SUPER_CACHE_): \
+ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
+ else: \
+- rplbase = $$[QT_INSTALL_PREFIX/get]
++ rplbase = $$MODULE_QMAKE_OUTDIR
+ include_replace.match = $$rplbase/include
+ include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
+ lib_replace.match = $$rplbase/lib
+--
+1.7.10.4
+
+
+From 83cbba468a50d5ecca2bfeb5780ad97a9890f3f2 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Fri, 25 Jan 2013 23:49:56 +0100
+Subject: [PATCH 8/9] adjust lib path in installed qml plugin prls
+
+Change-Id: Ia70da8f0f0b7abb4ea2a46cb4068c0827888b322
+
+diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
+index c700dda..bb89369 100644
+--- a/mkspecs/features/qml_plugin.prf
++++ b/mkspecs/features/qml_plugin.prf
+@@ -78,3 +78,9 @@ load(qt_targets)
+ }
+
+ load(qml_module)
++
++unix|win32-g++* {
++ lib_replace.match = $$eval(QT.$${CXX_MODULE}.libs)
++ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
++ QMAKE_PRL_INSTALL_REPLACE += lib_replace
++}
+--
+1.7.10.4
+
+
+From 05df017edaba8601cafee7579d2c3618378607aa Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 27 Jan 2013 14:03:16 +0100
+Subject: [PATCH 9/9] don't prematurely reduce LIBS when adding sql link lists
+
+It's possible that different database libraries share dependencies.
+We need to keep their link lists intact here so that QtSql's .prl and
+.pc files will have them in the right order. Particularly important
+when building the drivers into QtSql and using static linking.
+
+Change-Id: Id371b127099f2790fe7cccd0c7059607600f447d
+
+diff --git a/src/sql/drivers/mysql/qsql_mysql.pri b/src/sql/drivers/mysql/qsql_mysql.pri
+index c9ec257..0423eb4 100644
+--- a/src/sql/drivers/mysql/qsql_mysql.pri
++++ b/src/sql/drivers/mysql/qsql_mysql.pri
+@@ -13,7 +13,7 @@ unix {
+ else:LIBS += -lmysqlclient
+ }
+ } else {
+- LIBS *= $$QT_LFLAGS_MYSQL
++ LIBS += $$QT_LFLAGS_MYSQL
+ QMAKE_CXXFLAGS *= $$QT_CFLAGS_MYSQL
+ }
+ } else {
+diff --git a/src/sql/drivers/psql/qsql_psql.pri b/src/sql/drivers/psql/qsql_psql.pri
+index 6da3540..9b647d8 100644
+--- a/src/sql/drivers/psql/qsql_psql.pri
++++ b/src/sql/drivers/psql/qsql_psql.pri
+@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_psql.h
+ SOURCES += $$PWD/qsql_psql.cpp
+
+ unix|win32-g++* {
+- LIBS *= $$QT_LFLAGS_PSQL
++ LIBS += $$QT_LFLAGS_PSQL
+ !contains(LIBS, .*pq.*):LIBS += -lpq
+ QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL
+ } else {
+diff --git a/src/sql/drivers/sqlite/qsql_sqlite.pri b/src/sql/drivers/sqlite/qsql_sqlite.pri
+index 7ad5936..a2e80d4 100644
+--- a/src/sql/drivers/sqlite/qsql_sqlite.pri
++++ b/src/sql/drivers/sqlite/qsql_sqlite.pri
+@@ -4,6 +4,6 @@ SOURCES += $$PWD/qsql_sqlite.cpp
+ !system-sqlite:!contains(LIBS, .*sqlite3.*) {
+ include($$PWD/../../../3rdparty/sqlite.pri)
+ } else {
+- LIBS *= $$QT_LFLAGS_SQLITE
++ LIBS += $$QT_LFLAGS_SQLITE
+ QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
+ }
+diff --git a/src/sql/drivers/tds/qsql_tds.pri b/src/sql/drivers/tds/qsql_tds.pri
+index 3b5a689..38aab2f 100644
+--- a/src/sql/drivers/tds/qsql_tds.pri
++++ b/src/sql/drivers/tds/qsql_tds.pri
+@@ -2,7 +2,7 @@ HEADERS += $$PWD/qsql_tds.h
+ SOURCES += $$PWD/qsql_tds.cpp
+
+ unix|win32-g++*: {
+- LIBS *= $$QT_LFLAGS_TDS
++ LIBS += $$QT_LFLAGS_TDS
+ !contains(LIBS, .*sybdb.*):LIBS += -lsybdb
+ QMAKE_CXXFLAGS *= $$QT_CFLAGS_TDS
+ } else {
+--
+1.7.10.4
+