aboutsummarylogtreecommitdiffstats
path: root/0021-Merge-shared-and-static-library-trees.patch
diff options
context:
space:
mode:
Diffstat (limited to '0021-Merge-shared-and-static-library-trees.patch')
-rw-r--r--0021-Merge-shared-and-static-library-trees.patch132
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
-