* Update patch for static freetype2 in qt5 for brotli library renaming * Update patches for Qt 5 SQL drivers to include crypt32 * This library is required by OpenSSL's crypto library. Not sure why there were no linker errors before.
121 lines
5.8 KiB
Diff
121 lines
5.8 KiB
Diff
From b90b122dde2818d7c43c2400ec5aad542909ec67 Mon Sep 17 00:00:00 2001
|
|
From: Martchus <martchus@gmx.net>
|
|
Date: Sun, 18 Sep 2016 18:26:18 +0200
|
|
Subject: [PATCH 19/32] Use *.dll.a as import lib extension
|
|
|
|
The variables used here are provided by
|
|
g++-win32.conf
|
|
|
|
Change-Id: Ic8915ea40b4db3d9f60533d21daf8ff1ec1bd803
|
|
---
|
|
mkspecs/features/create_cmake.prf | 5 ++--
|
|
mkspecs/features/qt.prf | 38 ++++++++++----------------
|
|
qmake/generators/win32/winmakefile.cpp | 15 +++++++---
|
|
3 files changed, 28 insertions(+), 30 deletions(-)
|
|
|
|
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
|
|
index 6cd94f8058..ac089a2f9f 100644
|
|
--- a/mkspecs/features/create_cmake.prf
|
|
+++ b/mkspecs/features/create_cmake.prf
|
|
@@ -339,8 +339,9 @@ mac {
|
|
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}$${debug_suffix}.a
|
|
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
|
|
|
|
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.a
|
|
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
|
|
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
|
|
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.$${QMAKE_EXTENSION_IMPORTLIB}
|
|
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
|
|
} else {
|
|
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qt5main$${QT_LIBINFIX}$${debug_suffix}.lib
|
|
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qt5main$${QT_LIBINFIX}.lib
|
|
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
|
|
index 8096d01c34..b79b324b88 100644
|
|
--- a/mkspecs/features/qt.prf
|
|
+++ b/mkspecs/features/qt.prf
|
|
@@ -215,32 +215,22 @@ for(ever) {
|
|
# Linking frameworks by absolute path does not work.
|
|
LIBS$$var_sfx += -framework $$framework
|
|
} else {
|
|
- candidates = $$MODULE_MODULE$$qtPlatformTargetSuffix()
|
|
- darwin: candidates *= $$MODULE_MODULE
|
|
- win32|contains(MODULE_CONFIG, staticlib) {
|
|
- lib_prefix = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB
|
|
- lib_suffix = $$QMAKE_EXTENSION_STATICLIB
|
|
- add_lib_to_pretargetdeps = true
|
|
+ lib = $$MODULE_MODULE$$qtPlatformTargetSuffix()
|
|
+ contains(MODULE_CONFIG, staticlib) {
|
|
+ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_STATICLIB
|
|
+ PRE_TARGETDEPS += $$lib
|
|
} else {
|
|
- lib_prefix = $$MODULE_LIBS/$$QMAKE_PREFIX_SHLIB
|
|
- lib_suffix = $$QMAKE_EXTENSION_SHLIB
|
|
- add_lib_to_pretargetdeps = false
|
|
- }
|
|
- lib_missing = true
|
|
- lib_fallback =
|
|
- for(lib_base, candidates) {
|
|
- lib = $${lib_prefix}$${lib_base}.$${lib_suffix}
|
|
- isEmpty(lib_fallback): \
|
|
- lib_fallback = $$lib
|
|
- exists($$lib) {
|
|
- lib_missing = false
|
|
- break()
|
|
+ win32 {
|
|
+ shared|actually_a_shared_build {
|
|
+ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_IMPORTLIB
|
|
+ } else {
|
|
+ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_STATICLIB
|
|
+ }
|
|
+ PRE_TARGETDEPS += $$lib
|
|
+ } else {
|
|
+ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_SHLIB$${lib}.$$QMAKE_EXTENSION_SHLIB
|
|
}
|
|
- }
|
|
- $$lib_missing: \
|
|
- lib = $$lib_fallback
|
|
- $$add_lib_to_pretargetdeps: \
|
|
- PRE_TARGETDEPS += $$lib
|
|
+ }
|
|
LIBS$$var_sfx += $$lib
|
|
}
|
|
}
|
|
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
|
|
index 183cef2908..03732df4a8 100644
|
|
--- a/qmake/generators/win32/winmakefile.cpp
|
|
+++ b/qmake/generators/win32/winmakefile.cpp
|
|
@@ -99,9 +99,13 @@ private:
|
|
bool
|
|
Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
|
|
{
|
|
- ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS");
|
|
- if (impexts.isEmpty())
|
|
- impexts = project->values("QMAKE_EXTENSION_STATICLIB");
|
|
+ ProStringList impexts;
|
|
+ if (project->isActiveConfig("staticlib")) {
|
|
+ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
|
|
+ } else {
|
|
+ impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB"));
|
|
+ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
|
|
+ }
|
|
QVector<LibrarySearchPath> dirs;
|
|
int libidx = 0;
|
|
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
|
|
@@ -283,9 +287,12 @@ void Win32MakefileGenerator::fixTargetExt()
|
|
if (!project->values("QMAKE_APP_FLAG").isEmpty()) {
|
|
project->values("TARGET_EXT").append(".exe");
|
|
} else if (project->isActiveConfig("shared")) {
|
|
+ ProString impext = project->first("QMAKE_EXTENSION_IMPORTLIB");
|
|
+ if (impext.isEmpty())
|
|
+ impext = project->first("QMAKE_PREFIX_STATICLIB");
|
|
project->values("LIB_TARGET").prepend(project->first("QMAKE_PREFIX_STATICLIB")
|
|
+ project->first("TARGET") + project->first("TARGET_VERSION_EXT")
|
|
- + '.' + project->first("QMAKE_EXTENSION_STATICLIB"));
|
|
+ + '.' + impext);
|
|
project->values("TARGET_EXT").append(project->first("TARGET_VERSION_EXT") + "."
|
|
+ project->first("QMAKE_EXTENSION_SHLIB"));
|
|
project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET");
|
|
--
|
|
2.43.0
|
|
|