From bc86ed1045fe43cf79c8a915ec5479f43a4721f0 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 27 Mar 2016 22:49:10 +0200 Subject: [PATCH] use qt5-fix-implib-ext.patch from Alexpux/MINGW-packages --- qt5-base/mingw-w64-opengl/PKGBUILD | 2 +- .../mingw-w64-opengl/qt5-fix-implib-ext.patch | 87 +++++++++++++++++++ qt5-base/mingw-w64-static/PKGBUILD | 2 +- .../mingw-w64-static/qt5-fix-implib-ext.patch | 87 +++++++++++++++++++ qt5-base/mingw-w64/PKGBUILD | 2 +- qt5-base/mingw-w64/qt5-fix-implib-ext.patch | 87 +++++++++++++++++++ 6 files changed, 264 insertions(+), 3 deletions(-) create mode 100644 qt5-base/mingw-w64-opengl/qt5-fix-implib-ext.patch create mode 100644 qt5-base/mingw-w64-static/qt5-fix-implib-ext.patch create mode 100644 qt5-base/mingw-w64/qt5-fix-implib-ext.patch diff --git a/qt5-base/mingw-w64-opengl/PKGBUILD b/qt5-base/mingw-w64-opengl/PKGBUILD index c75cddad..54a2dc7a 100644 --- a/qt5-base/mingw-w64-opengl/PKGBUILD +++ b/qt5-base/mingw-w64-opengl/PKGBUILD @@ -75,7 +75,7 @@ md5sums=('d6b6cfd333c22829c6c85fc52ceed019' 'd0eb81aef1a21c65813fe4ddabbc4206' '87cbd116c75ced1b075bf266f2455d50' '62d2977e57fccf1f16d7ea6bf06d3279' - 'e1cafa2bc3d11496a5617ddb78283038') + '207420d43e997d1d41ef9684ef7fb715') _architectures="x86_64-w64-mingw32 i686-w64-mingw32" # Helper functions for the split builds diff --git a/qt5-base/mingw-w64-opengl/qt5-fix-implib-ext.patch b/qt5-base/mingw-w64-opengl/qt5-fix-implib-ext.patch new file mode 100644 index 00000000..fd9167a0 --- /dev/null +++ b/qt5-base/mingw-w64-opengl/qt5-fix-implib-ext.patch @@ -0,0 +1,87 @@ +From f09d23b9cd22771e04f49b386e3b67df8ad108c3 Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Mon, 10 Mar 2014 22:59:39 +0000 +Subject: [PATCH] win32-g++: Add QMAKE_EXTENSION_IMPORTLIB defaulting to 'a' + +This is to allow the MSYS2 project to set it to 'dll.a' so +that static and shared Qt libraries can be installed into +the same prefix without conflicting. + +To change it, you should pass -device-option to configure. + +Change-Id: I9ee49d2aef46e21f31b97611de2fc6d3070e288a +--- + mkspecs/features/create_cmake.prf | 5 +++-- + qmake/generators/win32/mingw_make.cpp | 15 +++++++++++++-- + qmake/generators/win32/mingw_make.h | 1 + + 3 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf +index 82e2812..2d8a043 100644 +--- a/mkspecs/features/create_cmake.prf ++++ b/mkspecs/features/create_cmake.prf +@@ -214,8 +214,9 @@ mac { + CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl + CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl + } else { +- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.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}d.$${QMAKE_EXTENSION_IMPORTLIB} ++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB} + } + } else { + CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 6d5764f..77e910b 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -92,7 +92,7 @@ + QMAKE_EXTENSION_SHLIB = dll + QMAKE_PREFIX_STATICLIB = lib + QMAKE_EXTENSION_STATICLIB = a +-QMAKE_LIB_EXTENSIONS = a dll.a ++QMAKE_EXTENSION_IMPORTLIB = dll.a + + QMAKE_LIBS = + QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 +diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp +index 6d5764f..77e910b 100644 +--- a/qmake/generators/win32/winmakefile.cpp ++++ b/qmake/generators/win32/winmakefile.cpp +@@ -85,10 +85,14 @@ + bool + Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags) + { +- ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS"); +- if (impexts.isEmpty()) +- impexts = project->values("QMAKE_EXTENSION_STATICLIB"); +- QList dirs; ++ 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")); ++ } ++ QList dirs; + static const char * const lflags[] = { "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", 0 }; + for (int i = 0; lflags[i]; i++) { + ProStringList &l = project->values(lflags[i]); +@@ -233,9 +237,12 @@ + 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"); +-- +1.9.0 + diff --git a/qt5-base/mingw-w64-static/PKGBUILD b/qt5-base/mingw-w64-static/PKGBUILD index e1838ead..696ffdab 100644 --- a/qt5-base/mingw-w64-static/PKGBUILD +++ b/qt5-base/mingw-w64-static/PKGBUILD @@ -75,7 +75,7 @@ md5sums=('d6b6cfd333c22829c6c85fc52ceed019' 'd0eb81aef1a21c65813fe4ddabbc4206' '87cbd116c75ced1b075bf266f2455d50' '62d2977e57fccf1f16d7ea6bf06d3279' - 'e1cafa2bc3d11496a5617ddb78283038') + '207420d43e997d1d41ef9684ef7fb715') _architectures="x86_64-w64-mingw32 i686-w64-mingw32" # Helper functions for the split builds diff --git a/qt5-base/mingw-w64-static/qt5-fix-implib-ext.patch b/qt5-base/mingw-w64-static/qt5-fix-implib-ext.patch new file mode 100644 index 00000000..fd9167a0 --- /dev/null +++ b/qt5-base/mingw-w64-static/qt5-fix-implib-ext.patch @@ -0,0 +1,87 @@ +From f09d23b9cd22771e04f49b386e3b67df8ad108c3 Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Mon, 10 Mar 2014 22:59:39 +0000 +Subject: [PATCH] win32-g++: Add QMAKE_EXTENSION_IMPORTLIB defaulting to 'a' + +This is to allow the MSYS2 project to set it to 'dll.a' so +that static and shared Qt libraries can be installed into +the same prefix without conflicting. + +To change it, you should pass -device-option to configure. + +Change-Id: I9ee49d2aef46e21f31b97611de2fc6d3070e288a +--- + mkspecs/features/create_cmake.prf | 5 +++-- + qmake/generators/win32/mingw_make.cpp | 15 +++++++++++++-- + qmake/generators/win32/mingw_make.h | 1 + + 3 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf +index 82e2812..2d8a043 100644 +--- a/mkspecs/features/create_cmake.prf ++++ b/mkspecs/features/create_cmake.prf +@@ -214,8 +214,9 @@ mac { + CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl + CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl + } else { +- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.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}d.$${QMAKE_EXTENSION_IMPORTLIB} ++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB} + } + } else { + CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 6d5764f..77e910b 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -92,7 +92,7 @@ + QMAKE_EXTENSION_SHLIB = dll + QMAKE_PREFIX_STATICLIB = lib + QMAKE_EXTENSION_STATICLIB = a +-QMAKE_LIB_EXTENSIONS = a dll.a ++QMAKE_EXTENSION_IMPORTLIB = dll.a + + QMAKE_LIBS = + QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 +diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp +index 6d5764f..77e910b 100644 +--- a/qmake/generators/win32/winmakefile.cpp ++++ b/qmake/generators/win32/winmakefile.cpp +@@ -85,10 +85,14 @@ + bool + Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags) + { +- ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS"); +- if (impexts.isEmpty()) +- impexts = project->values("QMAKE_EXTENSION_STATICLIB"); +- QList dirs; ++ 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")); ++ } ++ QList dirs; + static const char * const lflags[] = { "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", 0 }; + for (int i = 0; lflags[i]; i++) { + ProStringList &l = project->values(lflags[i]); +@@ -233,9 +237,12 @@ + 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"); +-- +1.9.0 + diff --git a/qt5-base/mingw-w64/PKGBUILD b/qt5-base/mingw-w64/PKGBUILD index 395d8175..d3e226d2 100644 --- a/qt5-base/mingw-w64/PKGBUILD +++ b/qt5-base/mingw-w64/PKGBUILD @@ -75,7 +75,7 @@ md5sums=('d6b6cfd333c22829c6c85fc52ceed019' 'd0eb81aef1a21c65813fe4ddabbc4206' '87cbd116c75ced1b075bf266f2455d50' '62d2977e57fccf1f16d7ea6bf06d3279' - 'e1cafa2bc3d11496a5617ddb78283038') + '207420d43e997d1d41ef9684ef7fb715') _architectures="x86_64-w64-mingw32 i686-w64-mingw32" # Helper functions for the split builds diff --git a/qt5-base/mingw-w64/qt5-fix-implib-ext.patch b/qt5-base/mingw-w64/qt5-fix-implib-ext.patch new file mode 100644 index 00000000..fd9167a0 --- /dev/null +++ b/qt5-base/mingw-w64/qt5-fix-implib-ext.patch @@ -0,0 +1,87 @@ +From f09d23b9cd22771e04f49b386e3b67df8ad108c3 Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Mon, 10 Mar 2014 22:59:39 +0000 +Subject: [PATCH] win32-g++: Add QMAKE_EXTENSION_IMPORTLIB defaulting to 'a' + +This is to allow the MSYS2 project to set it to 'dll.a' so +that static and shared Qt libraries can be installed into +the same prefix without conflicting. + +To change it, you should pass -device-option to configure. + +Change-Id: I9ee49d2aef46e21f31b97611de2fc6d3070e288a +--- + mkspecs/features/create_cmake.prf | 5 +++-- + qmake/generators/win32/mingw_make.cpp | 15 +++++++++++++-- + qmake/generators/win32/mingw_make.h | 1 + + 3 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf +index 82e2812..2d8a043 100644 +--- a/mkspecs/features/create_cmake.prf ++++ b/mkspecs/features/create_cmake.prf +@@ -214,8 +214,9 @@ mac { + CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl + CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl + } else { +- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.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}d.$${QMAKE_EXTENSION_IMPORTLIB} ++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB} + } + } else { + CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 6d5764f..77e910b 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -92,7 +92,7 @@ + QMAKE_EXTENSION_SHLIB = dll + QMAKE_PREFIX_STATICLIB = lib + QMAKE_EXTENSION_STATICLIB = a +-QMAKE_LIB_EXTENSIONS = a dll.a ++QMAKE_EXTENSION_IMPORTLIB = dll.a + + QMAKE_LIBS = + QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 +diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp +index 6d5764f..77e910b 100644 +--- a/qmake/generators/win32/winmakefile.cpp ++++ b/qmake/generators/win32/winmakefile.cpp +@@ -85,10 +85,14 @@ + bool + Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags) + { +- ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS"); +- if (impexts.isEmpty()) +- impexts = project->values("QMAKE_EXTENSION_STATICLIB"); +- QList dirs; ++ 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")); ++ } ++ QList dirs; + static const char * const lflags[] = { "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", 0 }; + for (int i = 0; lflags[i]; i++) { + ProStringList &l = project->values(lflags[i]); +@@ -233,9 +237,12 @@ + 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"); +-- +1.9.0 +