diff options
Diffstat (limited to '0021-Merge-shared-and-static-library-trees.patch')
-rw-r--r-- | 0021-Merge-shared-and-static-library-trees.patch | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/0021-Merge-shared-and-static-library-trees.patch b/0021-Merge-shared-and-static-library-trees.patch deleted file mode 100644 index 142e2cebba30..000000000000 --- a/0021-Merge-shared-and-static-library-trees.patch +++ /dev/null @@ -1,132 +0,0 @@ -From d21a2fde18007e8abbde3407ae20b967b137069e Mon Sep 17 00:00:00 2001 -From: Martchus <martchus@gmx.net> -Date: Sun, 18 Sep 2016 18:45:08 +0200 -Subject: [PATCH 21/34] Merge shared and static library trees - -Allow installation of shared and static build in the same prefix ---- - configure.pri | 9 +++++++++ - mkspecs/features/default_post.prf | 11 +++++++++++ - mkspecs/features/qt.prf | 17 +++++++++++++++++ - mkspecs/features/spec_pre.prf | 11 ++++++++--- - qmake/generators/makefile.cpp | 9 ++++++--- - 5 files changed, 51 insertions(+), 6 deletions(-) - -diff --git a/configure.pri b/configure.pri -index b3b3e27c44..3136889a2f 100644 ---- a/configure.pri -+++ b/configure.pri -@@ -1312,3 +1312,12 @@ defineTest(createConfigStatus) { - - QMAKE_POST_CONFIGURE += \ - "createConfigStatus()" -+ -+# merge shared and static library trees -+contains(CONFIG, static) { -+ CONFIG -= shared -+ QT_CONFIG += static jpeg gif -+ QT_CONFIG -= shared -+ # prevent smart library merge from messing cyclic dependency between freetype2 and harfbuzz -+ CONFIG += no_smart_library_merge -+} -diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf -index fbf1f3b8df..c261c46e72 100644 ---- a/mkspecs/features/default_post.prf -+++ b/mkspecs/features/default_post.prf -@@ -1,5 +1,16 @@ - # This file is loaded by qmake right after loading the actual project file. - -+win32:contains(CONFIG, static) { -+ # Ensure defines are set correctly for static build -+ DEFINES -= QT_SHARED -+ DEFINES *= QT_STATIC QT_DESIGNER_STATIC -+ contains(QT_CONFIG, angle): DEFINES *= QT_OPENGL_ES_2_ANGLE_STATIC -+ # Ensure we link against all dependencies statically -+ QMAKE_LFLAGS += -static -static-libstdc++ -static-libgcc -+ # Prevent qmake from finding the prl file for shared libs -+ QMAKE_EXT_PRL = .static.prl -+} -+ - contains(TEMPLATE, ".*(lib|app)"):CONFIG += have_target - - !have_target:!force_qt: CONFIG -= qt -diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf -index 5da82fdb5b..5b05aa9e2a 100644 ---- a/mkspecs/features/qt.prf -+++ b/mkspecs/features/qt.prf -@@ -246,6 +246,23 @@ for(ever) { - !isEmpty(MODULE_WINRT_CAPABILITIES_DEVICE): \ - WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE - } -+ -+ # Ensure linking against all required static libraries as defined in mingw-w64-g++ mkspec -+ win32:contains(CONFIG, static) { -+ isEqual(MODULE_NAME, QtCore) { -+ LIBS$$var_sfx += $$QMAKE_LIBS_CORE -+ } else:isEqual(MODULE_NAME, QtGui) { -+ LIBS$$var_sfx += $$QMAKE_LIBS_GUI_STATIC -+ } else:isEqual(MODULE_NAME, QtNetwork) { -+ LIBS$$var_sfx += $$QMAKE_LIBS_NETWORK_STATIC -+ } else:isEqual(MODULE_NAME, QtDBus) { -+ LIBS$$var_sfx += $$QMAKE_LIBS_DBUS_STATIC -+ } else:isEqual(MODULE_NAME, QtWidgets) { -+ LIBS$$var_sfx += $$QMAKE_LIBS_WIDGETS_STATIC -+ } else:isEqual(MODULE_NAME, QtOpenGL) { -+ LIBS$$var_sfx += $$QMAKE_LIBS_OPENGL -+ } -+ } - } - !isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)") - -diff --git a/mkspecs/features/spec_pre.prf b/mkspecs/features/spec_pre.prf -index 51ea3a8321..275e080ae4 100644 ---- a/mkspecs/features/spec_pre.prf -+++ b/mkspecs/features/spec_pre.prf -@@ -14,9 +14,14 @@ QMAKE_EXT_H = .h .hpp .hh .hxx - QMAKE_EXT_H_MOC = .cpp - QMAKE_EXT_JS = .js - QMAKE_EXT_LEX = .l --QMAKE_EXT_LIBTOOL = .la --QMAKE_EXT_PKGCONFIG = .pc --QMAKE_EXT_PRL = .prl -+QMAKE_EXT_PKGCONFIG = .pc -+contains(CONFIG, static) { -+ QMAKE_EXT_LIBTOOL = .static.la -+ QMAKE_EXT_PRL = .static.prl -+} else { -+ QMAKE_EXT_LIBTOOL = .la -+ QMAKE_EXT_PRL = .prl -+} - QMAKE_EXT_UI = .ui - QMAKE_EXT_YACC = .y - -diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp -index e640fb8079..fc7f729ae6 100644 ---- a/qmake/generators/makefile.cpp -+++ b/qmake/generators/makefile.cpp -@@ -3244,6 +3244,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir) - if (project->isActiveConfig("debug")) { - ret += "d"; - } -+ if (project->isActiveConfig("staticlib")) { -+ ret.insert(0, QStringLiteral("Static")); -+ } - ret += Option::pkgcfg_ext; - QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); - if(!subdir.isEmpty()) { -@@ -3418,9 +3421,9 @@ MakefileGenerator::writePkgConfigFile() - t << endl; - - // requires -- const QString requires = project->values("QMAKE_PKGCONFIG_REQUIRES").join(' '); -- if (!requires.isEmpty()) { -- t << "Requires: " << requires << endl; -+ t << "Requires:"; -+ for (const auto &required : project->values("QMAKE_PKGCONFIG_REQUIRES")) { -+ t << (project->isActiveConfig("staticlib") ? QStringLiteral(" Static") : QStringLiteral(" ")) << required.toQString(); - } - - t << endl; --- -2.20.1 - |