diff options
author | Martchus | 2018-05-28 21:50:43 +0200 |
---|---|---|
committer | Martchus | 2018-05-28 21:50:43 +0200 |
commit | 1de5b17c1169b308c3a014303dc8217228b90cca (patch) | |
tree | d2cdeb79f6dc53b2c55cbfbc84e191ca59508b7b | |
parent | 5522f822fc1124b7feaa9b9ed1e958a5f8897a9c (diff) | |
download | aur-1de5b17c1169b308c3a014303dc8217228b90cca.tar.gz |
Update to 5.11.0
37 files changed, 680 insertions, 713 deletions
@@ -1,8 +1,6 @@ -# Generated by mksrcinfo v8 -# Mon Feb 19 19:15:10 UTC 2018 pkgbase = mingw-w64-qt5-base pkgdesc = A cross-platform application and UI framework (mingw-w64) - pkgver = 5.10.1 + pkgver = 5.11.0 pkgrel = 1 url = https://www.qt.io/ arch = i686 @@ -31,8 +29,8 @@ pkgbase = mingw-w64-qt5-base options = !buildflags options = staticlibs options = !emptydirs - source = https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtbase-everywhere-src-5.10.1.tar.xz - source = 0001-Add-profile-for-cross-compilation-with-mingw-w64.patch + source = https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qtbase-everywhere-src-5.11.0.tar.xz + source = 0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch source = 0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch source = 0003-Use-external-ANGLE-library.patch source = 0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -64,39 +62,41 @@ pkgbase = mingw-w64-qt5-base source = 0030-Prevent-qmake-from-messing-static-lib-dependencies.patch source = 0031-Hardcode-linker-flags-for-platform-plugins.patch source = 0032-Fix-linking-against-static-plugins-with-qmake.patch - sha256sums = d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969 - sha256sums = 6b29d7a3751a506c15155425d6dc213e9f4654ee5b833007a0119bda6a050b28 - sha256sums = ca10438f4a2d309f496e85d7b974d9eeb88115e068e146ca511b9784db95b822 - sha256sums = 75bf0d8b155f95bad2dfbc5c046f88afd6a5f2233336a1f6d148583ba445fca6 - sha256sums = d70dcd1c44e751b0120f514af9db4ff20ebb0a327a22a371cf5e8d9453f66953 - sha256sums = cbad834340bc9e9261704034e9192bd0d7306f9ff02a99fd73fc348948c37ed9 - sha256sums = 3c7cd1839a6f0891b871c75824b8ebeb05e4e61884c342d6b6ab583f10819138 - sha256sums = c923da99871dac4fc58b8e70bd76c70fba0f421fc676a53bcb8c0187190ba737 - sha256sums = f9be656281652f72297f1e573f23298c22f4849857d92106096feb4b3fe9244f - sha256sums = 5add111a9e521159e31ecef4d85ebef86285bbbe2adce5d8cec94fd22822731e - sha256sums = 7d38e79bc6b2e5d74515291bf78c3a6168f8bc834f7f59bda2c013f65e45bd3e - sha256sums = 9ab62cc8cd1cf68ee5e87e276d5a2f19c43b04a1c50c10341794924277cfcca5 - sha256sums = f1926bd51376a95ea1deee933dadd62166296e5780e24ce8312637c9d3eda27b - sha256sums = 03f7a178af6b630f48da79c76e1239695d96137fd8394ba814e4bdf8c7e0a826 - sha256sums = dc3e0e3fe4ba979f74ff9dc343b235d32473edb18ca7f8afea3076f613564a95 - sha256sums = ef64b965a19e1e2848761829a6817dcb9f3ad616faa666f9e52736d810190c66 - sha256sums = 9e0c3848df586ec7decd9b7a6dab86a9e7e5cc7bf5ac06ff97d7d63e370bb05b - sha256sums = 7dc90045a838f9ebcb7933d582abb3e8bba250644602e1019bf1a03e74cc3b09 - sha256sums = b5cc23a29e80ec8185da8ca0950ab8a2f12f4ef4b998c763334d352e68b53fc2 - sha256sums = 944cfdbfd9d13285aefb4305596950d2880cc1023b5ad241af08e3d6995daa69 - sha256sums = 5f7498a98912542c39b081c2df1930246df3bdb533c2e30204bf795cea8b885f - sha256sums = 0b8408d70a4544e43fd573e5b9ac751fb2732d3e4490f21e1737ac09ece25b62 - sha256sums = 08155a41f22c03741096145bf201d5503e38495c2f255f3c81ea658948258cd3 - sha256sums = 7b30d46f739dffa20a1964e09958a92af1749104fe7a88d7ea255aa54e553b25 - sha256sums = c92d6a124b7b0333175122555ef9f647817eb54563480cf3eaaf47decfd907c3 - sha256sums = 0818c4d59aabb898fed8f313e21085cc8fc576d3f4975383eb73ba3f758c302e - sha256sums = ce5d416a3404199072062063d8038084c23bbfe8aa45ed3340c4afb4dfa461e4 - sha256sums = 8d1e93bea1cdcdf1b965f4c061975668334cef6a65130f1b4b528f2b6952a602 - sha256sums = 298ffdcd378e2b07fe8e978cfb5faac29c117a5f79288273545a6938b905f33a - sha256sums = 7514edba8ecd28b27715650bbafa8649492b68efba1df9c9fa70f06a924fea14 - sha256sums = 7c232c385303b447e17270b946d333b56274312b08b4e76439a5f77cb77aa909 - sha256sums = acfdf70ae8738a0373bbd93e42048d1c699f666dd72933ad3c09b09620fb0715 - sha256sums = c3df40da9b2494e59aae786a26ba93d88128b69971d10a64cb6d610045a101f8 + source = 0033-Disable-hardware-randomizer-for-32-bit.patch + sha256sums = ed6e46db84f7d34923ab4eae165c63e05ab3cfa9d19a73d3f57b4e7bfd41de66 + sha256sums = d01df5be5f96578f65c0343b1ae6eaac31e0c7608fb9b69e745865a5dfc8a1a3 + sha256sums = 29621ba67b026c9fb61ba865ba9d6198d3b8914623609b97bbc375feb33415b2 + sha256sums = 58435fde3af1478450c49637581884c217bd9080704dc80d035eb38df4706a6e + sha256sums = 3b4dff095110e60257f794c31e5c3b7f73c91d690c7acb3182b489d04988dd27 + sha256sums = 2b62c549626e76da5c36779fe7dd18bddb8041fdb1b983cd29651cf5b0a2b905 + sha256sums = 5c94228d93b7a6340098968738477f9720908a360358f51cd1bc6590e83679c0 + sha256sums = 164b09da056113e19b859a151f93803f19e0c9ea5130db916722f5f0bcb7a8cd + sha256sums = 351e61261c87d700f4076c6d3f19e81a60d1bfcc0e64f2164cb2696c47a0fafc + sha256sums = a1ed220ddba56656fdbc37163e794f3b43e9a5dae6099b2b23967e870cd9214e + sha256sums = 844d136f65d498dc1eea11e1882cf2645320d249c82fdcec5d25875e9158cb39 + sha256sums = a4a4f5ea9bc79b474ea3c5d86903054d6e9242a22b84589c210b3b8c2f797447 + sha256sums = 7d1d1d57bff00ae77d5480955b85737bd4f30185f5b99f8b34d89f90976f53fb + sha256sums = 1937bb971912fa7021295174aee8c250a7be9c2d3e3ad76f700d9f7d80fd1117 + sha256sums = 504fd54855d13a326cb65cffc006d1c67d9e6236830df9f581106ae8fe319fff + sha256sums = b732bca79bced6595e278e9e7ceec79306f51be121e78db0a9faa461344c918d + sha256sums = f86242c7e013971812c9a17d667db362ac10d19a63b51cda23d1f306bc8f3242 + sha256sums = da007b133f51f27342854e0fb251a1784096f24dab454def99c8496c143f38e5 + sha256sums = e6e8f2290a019071ded71c090c3cb8b24e0e33a37dcabdc6f676b886c18dd06a + sha256sums = 83645b01666aae48121ea9a952c6cfce9ba2aedb3edb9e1b11a893a5d8882831 + sha256sums = bb7e54a090ceb6cddac43acee2f34d888a15df2ae0e99808ef6aad9ff6e9ebcf + sha256sums = 7166f4ab8b7c5a60c4a6e3ac86411719fab67ef6a6c5a16463c6541e9955ce17 + sha256sums = bf1defbedd5c0d26aa000178092ac2c87ecb70b992184dc8ffff4502351e70c2 + sha256sums = 29289ac6b2380c4a5d551d3c9b331f9b13190f4dafabdc203dcbfabcb4075c4d + sha256sums = 0494a41d31ff097cd59117557a6869c5e0e7670eef33267f93974c15e4445e76 + sha256sums = bc53b50f4055170fea15b669366b8961e896d2705f91382ee3beea013979408e + sha256sums = 08d299eb938edc1d535bbb68b5b720203e2dffbc49129218bb1368791e6fb384 + sha256sums = 20d945b374b0e73501013fcf6ba9fd7e8732b76060c948faeb42c605f2f9dd1f + sha256sums = d9eeaceb89efd143918a1bfed6b60d33e004e8421a613036647f318320b25d6a + sha256sums = fb54191f4479ed66446d9c6b9066be11c5d2d580ff4aa0910a3ad29183329e75 + sha256sums = df8bfa7901b6af9de447a4f4d0983419f7c1fe5882cc97614d0e5b0759c67dec + sha256sums = 65d4a1aedc465dd9f5284cd1e2a352bc3c21e8e8e697e58ff9e89f54e5fcb173 + sha256sums = 178144d85cf4c69ae5cea694959a555c4a8eb3a0a5ad5116a2c979beac0e36c0 + sha256sums = 704c95d7fc157e58cc7d4436eb74bdcc0453ba29bb3326a3fe511ee35273e4c3 pkgname = mingw-w64-qt5-base diff --git a/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch b/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch deleted file mode 100644 index 7f9af67268fd..000000000000 --- a/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch +++ /dev/null @@ -1,314 +0,0 @@ -From fc85bad55db9fd58860c84e74ba3de1720111ef1 Mon Sep 17 00:00:00 2001 -From: Martchus <martchus@gmx.net> -Date: Fri, 3 Feb 2017 18:30:51 +0100 -Subject: [PATCH 01/32] Add profile for cross compilation with mingw-w64 - ---- - mkspecs/mingw-w64-g++/qmake.conf | 132 +++++++++++++++++++++++++++++ - mkspecs/mingw-w64-g++/qplatformdefs.h | 155 ++++++++++++++++++++++++++++++++++ - 2 files changed, 287 insertions(+) - create mode 100644 mkspecs/mingw-w64-g++/qmake.conf - create mode 100644 mkspecs/mingw-w64-g++/qplatformdefs.h - -diff --git a/mkspecs/mingw-w64-g++/qmake.conf b/mkspecs/mingw-w64-g++/qmake.conf -new file mode 100644 -index 0000000000..978867fa1b ---- /dev/null -+++ b/mkspecs/mingw-w64-g++/qmake.conf -@@ -0,0 +1,132 @@ -+# -+# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++ -+# -+# Written for cross compilation with mingw-w64 under GNU/Linux -+# -+# Cross compile example for i686-w64-mingw32-g++: -+# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- -+# -+ -+load(device_config) -+include(../common/angle.conf) -+ -+MAKEFILE_GENERATOR = MINGW -+QMAKE_PLATFORM = win32 win32-g++ mingw -+CONFIG += debug_and_release debug_and_release_target precompile_header $${CROSS_COMPILE_CUSTOM_CONFIG} -+DEFINES += UNICODE -+QMAKE_COMPILER_DEFINES += __GNUC__ WIN32 -+ -+QMAKE_EXT_OBJ = .o -+QMAKE_EXT_RES = _res.o -+ -+QMAKE_COMPILER = gcc -+ -+QMAKE_CC = $${CROSS_COMPILE}gcc -+QMAKE_LEX = flex -+QMAKE_LEXFLAGS = -+QMAKE_YACC = bison -y -+QMAKE_YACCFLAGS = -d -+QMAKE_CFLAGS = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fno-keep-inline-dllexport $${CROSS_COMPILE_CFLAGS} -+QMAKE_CFLAGS_DEPS = -M -+QMAKE_CFLAGS_WARN_ON = -Wall -Wextra -+QMAKE_CFLAGS_WARN_OFF = -w -+QMAKE_CFLAGS_RELEASE = -O2 -+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -O2 -g -+QMAKE_CFLAGS_DEBUG = -g -+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -+QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections -+QMAKE_CFLAGS_SSE2 = -msse2 -mstackrealign -+QMAKE_CFLAGS_SSE3 = -msse3 -+QMAKE_CFLAGS_SSSE3 = -mssse3 -+QMAKE_CFLAGS_SSE4_1 = -msse4.1 -+QMAKE_CFLAGS_SSE4_2 = -msse4.2 -+QMAKE_CFLAGS_AVX = -mavx -+QMAKE_CFLAGS_AVX2 = -mavx2 -+QMAKE_CFLAGS_NEON = -mfpu=neon -+ -+QMAKE_CXX = $${CROSS_COMPILE}g++ -+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD -+QMAKE_CXXFLAGS_RTTI_ON = -frtti -+QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti -+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads -+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions -+QMAKE_CXXFLAGS_CXX11 = -std=c++11 -+QMAKE_CXXFLAGS_CXX14 = -std=c++1y -+QMAKE_CXXFLAGS_CXX1Z = -std=c++1z -+QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11 -+QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y -+QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z -+QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS -+ -+QMAKE_INCDIR = -+ -+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src -+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< -+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src -+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< -+ -+QMAKE_LINK = $${CROSS_COMPILE}g++ -+QMAKE_LINK_C = $${CROSS_COMPILE}gcc -+QMAKE_LFLAGS = -g -+QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -+QMAKE_LFLAGS_EXCEPTIONS_OFF = -+QMAKE_LFLAGS_RELEASE = -+QMAKE_LFLAGS_DEBUG = -+QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console -+QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows -+QMAKE_LFLAGS_DLL = -shared -+QMAKE_LFLAGS_CXX11 = -+QMAKE_LFLAGS_CXX14 = -+QMAKE_LFLAGS_CXX1Z = -+QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections -+QMAKE_LINK_OBJECT_MAX = 10 -+QMAKE_LINK_OBJECT_SCRIPT = object_script -+QMAKE_PREFIX_SHLIB = -+QMAKE_EXTENSION_SHLIB = dll -+QMAKE_PREFIX_STATICLIB = lib -+QMAKE_EXTENSION_STATICLIB = a -+QMAKE_EXTENSION_IMPORTLIB = dll.a -+ -+QMAKE_IDL = $${CROSS_COMPILE}widl -+QMAKE_LIB = $${CROSS_COMPILE}ar -rc -+QMAKE_RC = $${CROSS_COMPILE}windres -+QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool -+QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5 -+ -+QMAKE_STRIP = $${CROSS_COMPILE}strip -+QMAKE_STRIPFLAGS_LIB += --strip-unneeded -+QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy -+QMAKE_NM = $${CROSS_COMPILE}nm -P -+ -+PKG_CONFIG = $${CROSS_COMPILE}pkg-config -+QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config -+ -+QMAKE_LIBS = -+QMAKE_LIBS_CORE = -lz -lpcre2-16 -liconv -lversion -lnetapi32 -luserenv -lole32 -luuid -lwinmm -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -+QMAKE_LIBS_GUI = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \ -+ $$system($${QMAKE_PKG_CONFIG} --libs harfbuzz) \ -+ $$system($${QMAKE_PKG_CONFIG} --libs freetype2) -+QMAKE_LIBS_GUI_STATIC = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \ -+ $$system($${QMAKE_PKG_CONFIG} --static --libs harfbuzz) \ -+ $$system($${QMAKE_PKG_CONFIG} --static --libs freetype2) -+QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi -liphlpapi -+QMAKE_LIBS_NETWORK_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs openssl) \ -+ -lws2_32 -lcrypt32 -ldnsapi -liphlpapi -+QMAKE_LIBS_DBUS = $$system($${QMAKE_PKG_CONFIG} --libs dbus-1) -+QMAKE_LIBS_DBUS_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs dbus-1) -+QMAKE_LIBS_WIDGETS_STATIC = -ldwmapi -luxtheme -+QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 -+QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 -+QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 -+QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 -+QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqt5main -+ -+load(qt_config) -diff --git a/mkspecs/mingw-w64-g++/qplatformdefs.h b/mkspecs/mingw-w64-g++/qplatformdefs.h -new file mode 100644 -index 0000000000..c5a70b1445 ---- /dev/null -+++ b/mkspecs/mingw-w64-g++/qplatformdefs.h -@@ -0,0 +1,155 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2016 The Qt Company Ltd. -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 3 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL3 included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 3 requirements -+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 2.0 or (at your option) the GNU General -+** Public license version 3 or any later version approved by the KDE Free -+** Qt Foundation. The licenses are as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-2.0.html and -+** https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QPLATFORMDEFS_H -+#define QPLATFORMDEFS_H -+ -+#ifdef UNICODE -+#ifndef _UNICODE -+#define _UNICODE -+#endif -+#endif -+ -+// Get Qt defines/settings -+ -+#include "qglobal.h" -+ -+#include <tchar.h> -+#include <io.h> -+#include <direct.h> -+#include <stdio.h> -+#include <fcntl.h> -+#include <errno.h> -+#include <sys/stat.h> -+#include <stdlib.h> -+#include <limits.h> -+ -+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500) -+typedef enum { -+ NameUnknown = 0, -+ NameFullyQualifiedDN = 1, -+ NameSamCompatible = 2, -+ NameDisplay = 3, -+ NameUniqueId = 6, -+ NameCanonical = 7, -+ NameUserPrincipal = 8, -+ NameCanonicalEx = 9, -+ NameServicePrincipal = 10, -+ NameDnsDomain = 12 -+} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT; -+#endif -+ -+#ifdef QT_LARGEFILE_SUPPORT -+#define QT_STATBUF struct _stati64 // non-ANSI defs -+#define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs -+#define QT_STAT ::_stati64 -+#define QT_FSTAT ::_fstati64 -+#else -+#define QT_STATBUF struct _stat // non-ANSI defs -+#define QT_STATBUF4TSTAT struct _stat // non-ANSI defs -+#define QT_STAT ::_stat -+#define QT_FSTAT ::_fstat -+#endif -+#define QT_STAT_REG _S_IFREG -+#define QT_STAT_DIR _S_IFDIR -+#define QT_STAT_MASK _S_IFMT -+#if defined(_S_IFLNK) -+# define QT_STAT_LNK _S_IFLNK -+#endif -+#define QT_FILENO _fileno -+#define QT_OPEN ::_open -+#define QT_CLOSE ::_close -+#ifdef QT_LARGEFILE_SUPPORT -+#define QT_LSEEK ::_lseeki64 -+#ifndef UNICODE -+#define QT_TSTAT ::_stati64 -+#else -+#define QT_TSTAT ::_wstati64 -+#endif -+#else -+#define QT_LSEEK ::_lseek -+#ifndef UNICODE -+#define QT_TSTAT ::_stat -+#else -+#define QT_TSTAT ::_wstat -+#endif -+#endif -+#define QT_READ ::_read -+#define QT_WRITE ::_write -+#define QT_ACCESS ::_access -+#define QT_GETCWD ::_getcwd -+#define QT_CHDIR ::_chdir -+#define QT_MKDIR ::_mkdir -+#define QT_RMDIR ::_rmdir -+#define QT_OPEN_LARGEFILE 0 -+#define QT_OPEN_RDONLY _O_RDONLY -+#define QT_OPEN_WRONLY _O_WRONLY -+#define QT_OPEN_RDWR _O_RDWR -+#define QT_OPEN_CREAT _O_CREAT -+#define QT_OPEN_TRUNC _O_TRUNC -+#define QT_OPEN_APPEND _O_APPEND -+#if defined(O_TEXT) -+# define QT_OPEN_TEXT _O_TEXT -+# define QT_OPEN_BINARY _O_BINARY -+#endif -+ -+#include "../common/c89/qplatformdefs.h" -+ -+#ifdef QT_LARGEFILE_SUPPORT -+#undef QT_FSEEK -+#undef QT_FTELL -+#undef QT_OFF_T -+ -+#define QT_FSEEK ::fseeko64 -+#define QT_FTELL ::ftello64 -+#define QT_OFF_T off64_t -+#endif -+ -+#define QT_SIGNAL_ARGS int -+ -+#define QT_VSNPRINTF ::_vsnprintf -+#define QT_SNPRINTF ::_snprintf -+ -+# define F_OK 0 -+# define X_OK 1 -+# define W_OK 2 -+# define R_OK 4 -+ -+ -+#endif // QPLATFORMDEFS_H --- -2.16.1 - diff --git a/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch b/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch new file mode 100644 index 000000000000..013d327fd298 --- /dev/null +++ b/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch @@ -0,0 +1,174 @@ +From bd010d1fb00f61dd6cca52c93a4285c5d967029b Mon Sep 17 00:00:00 2001 +From: Martchus <martchus@gmx.net> +Date: Fri, 3 Feb 2017 18:30:51 +0100 +Subject: [PATCH 01/33] Adjust win32-g++ profile for cross compilation with + mingw-w64 + +Adding a new, separate mkspec instead of patching the existing one +might be the cleaner solution. However tools like windeployqt and +qbs do checks based on the hardcoded mkspec name to detect MinGW. +So for this to work, the mkspec must be called win32-g++. + +Also see the following issues: +* https://github.com/Martchus/PKGBUILDs/issues/59 +* https://github.com/Martchus/PKGBUILDs/issues/60 +--- + mkspecs/common/g++-win32.conf | 56 +++++++++++++++++++++--------- + mkspecs/win32-clang-g++/qmake.conf | 4 +-- + mkspecs/win32-g++/qmake.conf | 4 +-- + 3 files changed, 43 insertions(+), 21 deletions(-) + +diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf +index 610503379d..f099380cca 100644 +--- a/mkspecs/common/g++-win32.conf ++++ b/mkspecs/common/g++-win32.conf +@@ -8,22 +8,31 @@ + # Compiler-specific settings go into win32-g++/qmake.conf and + # win32-clang-g++/qmake.conf + # ++# The device options CROSS_COMPILE_CUSTOM_CONFIG and CROSS_COMPILE_CFLAGS can be used ++# to specify custom config/flags for cross compilation. ++# + + load(device_config) + include(gcc-base.conf) + include(g++-base.conf) + ++include(angle.conf) ++include(windows-vulkan.conf) ++ + # modifications to gcc-base.conf and g++-base.conf + + MAKEFILE_GENERATOR = MINGW + QMAKE_PLATFORM = win32 mingw +-CONFIG += debug_and_release debug_and_release_target precompile_header +-DEFINES += UNICODE _UNICODE WIN32 +-QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32 ++CONFIG += debug_and_release debug_and_release_target precompile_header $${CROSS_COMPILE_CUSTOM_CONFIG} ++DEFINES += UNICODE _UNICODE ++QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32 WIN32 + # can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for + # x86_64 platform similar to 'msvc-desktop.conf' toolchain, because, unlike for MSVC, + # 'QMAKE_TARGET.arch' is inherently unavailable. + ++# prevent definition of _xgetbv() in psdk_inc/intrin-impl.h (already defined in xsaveintrin.h) ++DEFINES += __INTRINSIC_DEFINED__xgetbv ++ + QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = bison -y +@@ -34,6 +43,7 @@ QMAKE_CFLAGS_SSE2 += -mstackrealign + QMAKE_CXXFLAGS_RTTI_ON = -frtti + QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti + QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads ++QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions + + QMAKE_INCDIR = + +@@ -42,41 +52,53 @@ QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< + QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src + QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + ++QMAKE_LFLAGS = -g + QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads +-QMAKE_LFLAGS_RELEASE = -Wl,-s ++QMAKE_LFLAGS_RELEASE = ++QMAKE_LFLAGS_DEBUG = + QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console + QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows + QMAKE_LFLAGS_DLL = -shared + QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections +-equals(QMAKE_HOST.os, Windows) { +- QMAKE_LINK_OBJECT_MAX = 10 +- QMAKE_LINK_OBJECT_SCRIPT = object_script +-} ++QMAKE_LINK_OBJECT_MAX = 10 ++QMAKE_LINK_OBJECT_SCRIPT = object_script + QMAKE_EXT_OBJ = .o + QMAKE_EXT_RES = _res.o + QMAKE_PREFIX_SHLIB = + QMAKE_EXTENSION_SHLIB = dll + QMAKE_PREFIX_STATICLIB = lib + QMAKE_EXTENSION_STATICLIB = a +-QMAKE_LIB_EXTENSIONS = a dll.a ++QMAKE_EXTENSION_IMPORTLIB = dll.a ++ ++PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config + + QMAKE_LIBS = +-QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 +-QMAKE_LIBS_NETWORK = -lws2_32 ++QMAKE_LIBS_CORE = -lz -lpcre2-16 -liconv -lversion -lnetapi32 -luserenv -lole32 -luuid -lwinmm -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 ++QMAKE_LIBS_GUI = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \ ++ $$system($${QMAKE_PKG_CONFIG} --libs harfbuzz) \ ++ $$system($${QMAKE_PKG_CONFIG} --libs freetype2) ++QMAKE_LIBS_GUI_STATIC = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \ ++ $$system($${QMAKE_PKG_CONFIG} --static --libs harfbuzz) \ ++ $$system($${QMAKE_PKG_CONFIG} --static --libs freetype2) ++QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi -liphlpapi ++QMAKE_LIBS_NETWORK_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs openssl) -lws2_32 -lcrypt32 -ldnsapi -liphlpapi ++QMAKE_LIBS_DBUS = $$system($${QMAKE_PKG_CONFIG} --libs dbus-1) ++QMAKE_LIBS_DBUS_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs dbus-1) ++QMAKE_LIBS_WIDGETS_STATIC = -ldwmapi -luxtheme + QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 +-QMAKE_LIBS_OPENGL_ES2 = -lgdi32 -luser32 +-QMAKE_LIBS_OPENGL_ES2_DEBUG = -lgdi32 -luser32 ++QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 ++QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 + QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 + QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain + +-QMAKE_IDL = midl ++QMAKE_IDL = $${CROSS_COMPILE}widl + QMAKE_LIB = $${CROSS_COMPILE}ar -rc + QMAKE_RC = $${CROSS_COMPILE}windres ++QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool ++QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5 + + QMAKE_STRIP = $${CROSS_COMPILE}strip + QMAKE_STRIPFLAGS_LIB += --strip-unneeded + QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy + QMAKE_NM = $${CROSS_COMPILE}nm -P +- +-include(angle.conf) +-include(windows-vulkan.conf) +diff --git a/mkspecs/win32-clang-g++/qmake.conf b/mkspecs/win32-clang-g++/qmake.conf +index 4630ec4602..4981a28736 100644 +--- a/mkspecs/win32-clang-g++/qmake.conf ++++ b/mkspecs/win32-clang-g++/qmake.conf +@@ -14,11 +14,11 @@ include(../common/g++-win32.conf) + QMAKE_COMPILER += clang llvm # clang pretends to be gcc + + QMAKE_CC = $${CROSS_COMPILE}clang +-QMAKE_CFLAGS += ++QMAKE_CFLAGS += -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fno-keep-inline-dllexport $${CROSS_COMPILE_CFLAGS} + QMAKE_CFLAGS_WARN_ON += -Wextra -Wno-ignored-attributes + + QMAKE_CXX = $${CROSS_COMPILE}clang++ +-QMAKE_CXXFLAGS += ++QMAKE_CXXFLAGS += $${QMAKE_CFLAGS} + QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON + + QMAKE_LINK = $${CROSS_COMPILE}clang++ +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index ed131c6823..b77d86cd6b 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -12,11 +12,11 @@ include(../common/g++-win32.conf) + # modifications to g++-win32.conf + + QMAKE_CC = $${CROSS_COMPILE}gcc +-QMAKE_CFLAGS += -fno-keep-inline-dllexport ++QMAKE_CFLAGS += -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fno-keep-inline-dllexport $${CROSS_COMPILE_CFLAGS} + QMAKE_CFLAGS_WARN_ON += -Wextra + + QMAKE_CXX = $${CROSS_COMPILE}g++ +-QMAKE_CXXFLAGS += -fno-keep-inline-dllexport ++QMAKE_CXXFLAGS += $${QMAKE_CFLAGS} + QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON + + QMAKE_LINK = $${CROSS_COMPILE}g++ +-- +2.17.0 + diff --git a/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch index 724babddbd3c..c26ef5b8c3e5 100644 --- a/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch +++ b/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch @@ -1,7 +1,7 @@ -From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001 +From 2cf971ff3e2c1a6f736d6b23f843f00456e3949b Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:36:53 +0200 -Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL +Subject: [PATCH 02/33] Ensure GLdouble is defined when using dynamic OpenGL FIXME: Not sure whether this is still required --- @@ -9,7 +9,7 @@ FIXME: Not sure whether this is still required 1 file changed, 2 deletions(-) diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h -index 0a5de2c9af..35798a2a28 100644 +index 1a43f13d9b..a4c954a453 100644 --- a/src/gui/opengl/qopenglfunctions.h +++ b/src/gui/opengl/qopenglfunctions.h @@ -56,9 +56,7 @@ @@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644 #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include <stdio.h> -- -2.16.1 +2.17.0 diff --git a/0003-Use-external-ANGLE-library.patch b/0003-Use-external-ANGLE-library.patch index 54822d27ae3f..b22e59f7d099 100644 --- a/0003-Use-external-ANGLE-library.patch +++ b/0003-Use-external-ANGLE-library.patch @@ -1,7 +1,7 @@ -From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001 +From cb3fe1244a3c10139b4019d3378e644d41b6db6c Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:41:38 +0200 -Subject: [PATCH 03/32] Use external ANGLE library +Subject: [PATCH 03/33] Use external ANGLE library --- src/gui/Qt5GuiConfigExtras.cmake.in | 4 ++-- @@ -28,7 +28,7 @@ index 07869efd7d..2e32911a64 100644 _qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS}) diff --git a/src/gui/gui.pro b/src/gui/gui.pro -index f8cec00b82..d09c9fd49c 100644 +index 759d6f3cbf..1ddcf1db78 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -18,12 +18,6 @@ MODULE_PLUGIN_TYPES = \ @@ -54,10 +54,10 @@ index f8cec00b82..d09c9fd49c 100644 include(accessible/accessible.pri) diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro -index 742be61a50..5fef69fd3f 100644 +index 8b2349ff2f..f5e43c6adc 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro -@@ -11,6 +11,7 @@ QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf +@@ -10,6 +10,7 @@ QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf qtConfig(opengl): CONFIG += opengl qtConfig(opengles2): CONFIG += opengles2 @@ -66,7 +66,7 @@ index 742be61a50..5fef69fd3f 100644 HEADERS += qgl.h \ qgl_p.h \ diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri -index b7790a66e3..046fe34a06 100644 +index f4c396f7c5..fc87e810aa 100644 --- a/src/plugins/platforms/windows/windows.pri +++ b/src/plugins/platforms/windows/windows.pri @@ -4,6 +4,7 @@ LIBS += -lole32 -luser32 -lwinspool -limm32 -lwinmm -loleaut32 @@ -78,10 +78,10 @@ index b7790a66e3..046fe34a06 100644 mingw: LIBS *= -luuid # For the dialog helpers: diff --git a/src/src.pro b/src/src.pro -index a73729a760..32d9f8502a 100644 +index 1f7c5d99c1..24e24ef7f1 100644 --- a/src/src.pro +++ b/src/src.pro -@@ -180,10 +180,6 @@ qtConfig(gui) { +@@ -189,10 +189,6 @@ qtConfig(gui) { SUBDIRS += src_3rdparty_harfbuzzng src_gui.depends += src_3rdparty_harfbuzzng } @@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644 SUBDIRS += src_3rdparty_libpng src_3rdparty_freetype.depends += src_3rdparty_libpng -- -2.16.1 +2.17.0 diff --git a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch index 5c87faacb8a1..7cb589f5ec72 100644 --- a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch +++ b/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -1,7 +1,7 @@ -From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001 +From ad81c1479122de4d4468cabf26c9f19b5703d9c1 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:48:51 +0200 -Subject: [PATCH 04/32] Fix too many sections assemler error in OpenGL factory +Subject: [PATCH 04/33] Fix too many sections assemler error in OpenGL factory On x86_64 qopenglversionfunctionsfactory.o exceeds the limit of 32768 sections. @@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644 HEADERS += opengl/qopengl.h \ opengl/qopengl_p.h \ -- -2.16.1 +2.17.0 diff --git a/0005-Make-sure-.pc-files-are-installed-correctly.patch b/0005-Make-sure-.pc-files-are-installed-correctly.patch index 6ca3d4f86416..6968e39395d2 100644 --- a/0005-Make-sure-.pc-files-are-installed-correctly.patch +++ b/0005-Make-sure-.pc-files-are-installed-correctly.patch @@ -1,7 +1,7 @@ -From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001 +From 5bd6c26b352fe5bdf4d62ace615ccdd411c39002 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:54:12 +0200 -Subject: [PATCH 05/32] Make sure *.pc files are installed correctly +Subject: [PATCH 05/33] Make sure *.pc files are installed correctly --- qmake/generators/makefile.cpp | 8 ++++++-- @@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644 uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc)); -- -2.16.1 +2.17.0 diff --git a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/0006-Don-t-add-resource-files-to-LIBS-parameter.patch index 6c7a6dec6276..45d79c886e0c 100644 --- a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch +++ b/0006-Don-t-add-resource-files-to-LIBS-parameter.patch @@ -1,7 +1,7 @@ -From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001 +From 9b80c0d4cabad01097173fd73693417f9461f4e9 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:58:28 +0200 -Subject: [PATCH 06/32] Don't add resource files to LIBS parameter +Subject: [PATCH 06/33] Don't add resource files to LIBS parameter Solves an issue where the generated pkg-config files contained invalid Libs.private references @@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644 if (project->isActiveConfig("dll")) { QString destDir = ""; -- -2.16.1 +2.17.0 diff --git a/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/0007-Prevent-debug-library-names-in-pkg-config-files.patch index 98d4bbde04d9..8cd33a821bc7 100644 --- a/0007-Prevent-debug-library-names-in-pkg-config-files.patch +++ b/0007-Prevent-debug-library-names-in-pkg-config-files.patch @@ -1,7 +1,7 @@ -From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001 +From 4beab05117f21513f0e400c94c9b3d31db25fec0 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:01:14 +0200 -Subject: [PATCH 07/32] Prevent debug library names in pkg-config files +Subject: [PATCH 07/33] Prevent debug library names in pkg-config files qmake generates the pkgconfig .pc files two times, once for the release build and once for the debug build (which we're not actually @@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644 QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -- -2.16.1 +2.17.0 diff --git a/0008-Fix-linking-against-shared-static-libpng.patch b/0008-Fix-linking-against-shared-static-libpng.patch index 13b1f738ba68..ff974a9c485e 100644 --- a/0008-Fix-linking-against-shared-static-libpng.patch +++ b/0008-Fix-linking-against-shared-static-libpng.patch @@ -1,7 +1,7 @@ -From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001 +From d4effcacb4dcb9e2cdd33162d7da3dd53e79a9aa Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Thu, 26 Jan 2017 17:51:31 +0100 -Subject: [PATCH 08/32] Fix linking against shared/static libpng +Subject: [PATCH 08/33] Fix linking against shared/static libpng Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf --- @@ -9,7 +9,7 @@ Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/configure.json b/src/gui/configure.json -index dab66fafb4..bc501bd3fc 100644 +index 219385a108..d629a45b92 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -291,7 +291,8 @@ @@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644 "use": [ { "lib": "zlib", "condition": "features.system-zlib" } -- -2.16.1 +2.17.0 diff --git a/0009-Fix-linking-against-static-D-Bus.patch b/0009-Fix-linking-against-static-D-Bus.patch index bf620e71d31f..385522d894b4 100644 --- a/0009-Fix-linking-against-static-D-Bus.patch +++ b/0009-Fix-linking-against-static-D-Bus.patch @@ -1,7 +1,7 @@ -From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001 +From 3f683a34bafb1cc19636c017febdc92a450be9e2 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 19:36:25 +0100 -Subject: [PATCH 09/32] Fix linking against static D-Bus +Subject: [PATCH 09/33] Fix linking against static D-Bus --- configure.json | 9 +++++++-- @@ -9,10 +9,10 @@ Subject: [PATCH 09/32] Fix linking against static D-Bus 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/configure.json b/configure.json -index a6f3ed66a9..803abf38bb 100644 +index ae2aa22070..baa99a3da9 100644 --- a/configure.json +++ b/configure.json -@@ -171,18 +171,23 @@ +@@ -172,18 +172,23 @@ "CONFIG(debug, debug|release): \\", " LIBS += $$LIBS_DEBUG", "else: \\", @@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644 # include <dbus/dbus.h> #else -- -2.16.1 +2.17.0 diff --git a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch index 93c1d12d2835..a0ee831464b8 100644 --- a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch +++ b/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch @@ -1,7 +1,7 @@ -From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001 +From 990f59202b9e39903d43ada99fd4f6b58e046c55 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 2 Jun 2017 18:28:10 +0200 -Subject: [PATCH 10/32] Don't try to use debug version of D-Bus library +Subject: [PATCH 10/33] Don't try to use debug version of D-Bus library Required for a debug build of Qt because mingw-w64-dbus does not contain debug version @@ -12,10 +12,10 @@ Change-Id: Ic34e1025fda55f9659e065f5bbe9d51f55420adb 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.json b/configure.json -index 803abf38bb..7e0b7ffb56 100644 +index baa99a3da9..dfb8835ecb 100644 --- a/configure.json +++ b/configure.json -@@ -184,7 +184,7 @@ +@@ -185,7 +185,7 @@ { "libs": "", "builds": { @@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644 }, "condition": "config.win32 && features.shared" -- -2.16.1 +2.17.0 diff --git a/0011-Fix-linking-against-static-freetype2.patch b/0011-Fix-linking-against-static-freetype2.patch index 36bf76065090..afeb125272f0 100644 --- a/0011-Fix-linking-against-static-freetype2.patch +++ b/0011-Fix-linking-against-static-freetype2.patch @@ -1,14 +1,14 @@ -From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001 +From 7c357a7a1a8e7b5ab4eb2bf4dfce9a5aee5c444d Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 20:51:19 +0100 -Subject: [PATCH 11/32] Fix linking against static freetype2 +Subject: [PATCH 11/33] Fix linking against static freetype2 --- src/gui/configure.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/configure.json b/src/gui/configure.json -index bc501bd3fc..f7a4a39fd4 100644 +index d629a45b92..afa3d95f39 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -158,8 +158,11 @@ @@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644 }, "fontconfig": { -- -2.16.1 +2.17.0 diff --git a/0012-Fix-linking-against-static-harfbuzz.patch b/0012-Fix-linking-against-static-harfbuzz.patch index 796b98390b65..33e27261250e 100644 --- a/0012-Fix-linking-against-static-harfbuzz.patch +++ b/0012-Fix-linking-against-static-harfbuzz.patch @@ -1,14 +1,14 @@ -From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001 +From e7137841052bacf081a9d8c33486ffc86403acd5 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:22:56 +0200 -Subject: [PATCH 12/32] Fix linking against static harfbuzz +Subject: [PATCH 12/33] Fix linking against static harfbuzz --- src/gui/configure.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gui/configure.json b/src/gui/configure.json -index f7a4a39fd4..5ff8449509 100644 +index afa3d95f39..a2b0a00d09 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -218,7 +218,11 @@ @@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644 }, "imf": { -- -2.16.1 +2.17.0 diff --git a/0013-Fix-linking-against-static-pcre.patch b/0013-Fix-linking-against-static-pcre.patch index cee71e740246..4c94c36c3c50 100644 --- a/0013-Fix-linking-against-static-pcre.patch +++ b/0013-Fix-linking-against-static-pcre.patch @@ -1,7 +1,7 @@ -From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001 +From d0bc7fd8109d53c80976e00f89af33a2b841a595 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:24:01 +0200 -Subject: [PATCH 13/32] Fix linking against static pcre +Subject: [PATCH 13/33] Fix linking against static pcre Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1 --- @@ -9,10 +9,10 @@ Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1 1 file changed, 4 insertions(+) diff --git a/src/corelib/tools/qregularexpression.cpp b/src/corelib/tools/qregularexpression.cpp -index 86bc99716d..5037ae68a1 100644 +index 13eff07c04..ea747244da 100644 --- a/src/corelib/tools/qregularexpression.cpp +++ b/src/corelib/tools/qregularexpression.cpp -@@ -55,6 +55,10 @@ +@@ -53,6 +53,10 @@ #include <QtCore/qdatastream.h> #define PCRE2_CODE_UNIT_WIDTH 16 @@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644 #include <pcre2.h> -- -2.16.1 +2.17.0 diff --git a/0014-Fix-linking-against-shared-static-MariaDB.patch b/0014-Fix-linking-against-shared-static-MariaDB.patch index 1d5d8bdb7837..913a0837bcd6 100644 --- a/0014-Fix-linking-against-shared-static-MariaDB.patch +++ b/0014-Fix-linking-against-shared-static-MariaDB.patch @@ -1,7 +1,7 @@ -From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001 +From a2831789ce79bcff73a2cdb2378626f593499fd2 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:56:55 +0200 -Subject: [PATCH 14/32] Fix linking against shared/static MariaDB +Subject: [PATCH 14/33] Fix linking against shared/static MariaDB Change-Id: I9722c154d845f288a2d4d1ab14a014066b28819b --- @@ -23,5 +23,5 @@ index 234f880579..4619db4a54 100644 { "type": "mysqlConfig", "query": "--libs", "cleanlibs": true }, { "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false }, -- -2.16.1 +2.17.0 diff --git a/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/0015-Fix-linking-against-shared-static-PostgreSQL.patch index c66730e9dbf2..38d22d9d483c 100644 --- a/0015-Fix-linking-against-shared-static-PostgreSQL.patch +++ b/0015-Fix-linking-against-shared-static-PostgreSQL.patch @@ -1,7 +1,7 @@ -From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001 +From 2097d5ad594a291ecf8ca098566681fa52731183 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:58:25 +0200 -Subject: [PATCH 15/32] Fix linking against shared/static PostgreSQL +Subject: [PATCH 15/33] Fix linking against shared/static PostgreSQL --- src/plugins/sqldrivers/configure.json | 5 +++-- @@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644 ] }, -- -2.16.1 +2.17.0 diff --git a/0016-Rename-qtmain-to-qt5main.patch b/0016-Rename-qtmain-to-qt5main.patch index 93a9c548fef7..d95196cb88bf 100644 --- a/0016-Rename-qtmain-to-qt5main.patch +++ b/0016-Rename-qtmain-to-qt5main.patch @@ -1,20 +1,34 @@ -From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001 +From 594acda6ca575369ca13cc4a14ba7bd392de4aee Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:25:40 +0200 -Subject: [PATCH 16/32] Rename qtmain to qt5main +Subject: [PATCH 16/33] Rename qtmain to qt5main Prevents conflict with mingw-w64-qt4 package --- + mkspecs/common/g++-win32.conf | 2 +- mkspecs/features/create_cmake.prf | 4 ++-- mkspecs/features/win32/windows.prf | 2 +- src/winmain/winmain.pro | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) + 4 files changed, 5 insertions(+), 5 deletions(-) +diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf +index f099380cca..44c211d176 100644 +--- a/mkspecs/common/g++-win32.conf ++++ b/mkspecs/common/g++-win32.conf +@@ -90,7 +90,7 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 + QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 + QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 + QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 +-QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain ++QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqt5main + + QMAKE_IDL = $${CROSS_COMPILE}widl + QMAKE_LIB = $${CROSS_COMPILE}ar -rc diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index bb5083c925..146e83ae67 100644 +index 66acedef55..5d553d9ca6 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -225,8 +225,8 @@ mac { +@@ -227,8 +227,8 @@ mac { CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll mingw { @@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644 CONFIG += static -- -2.16.1 +2.17.0 diff --git a/0017-Build-dynamic-host-libraries.patch b/0017-Build-dynamic-host-libraries.patch index 3535c0553c87..0b3641095349 100644 --- a/0017-Build-dynamic-host-libraries.patch +++ b/0017-Build-dynamic-host-libraries.patch @@ -1,7 +1,7 @@ -From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001 +From 2cfb089ea3b0155758be97c7ea8724d77f63a704 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:27:28 +0200 -Subject: [PATCH 17/32] Build dynamic host libraries +Subject: [PATCH 17/33] Build dynamic host libraries This came initially from Fedora, not sure whether it makes sense to keep it. Regular Arch package @@ -14,7 +14,7 @@ Change-Id: I91a3613955c656fb0d262ccb9b2529350bab032b 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf -index e6a0d97f1a..c07c1adc8b 100644 +index f8729de947..db23f4ad1d 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -24,7 +24,7 @@ requires(!$$skip) @@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644 -INSTALLS = lib +INSTALLS += lib -- -2.16.1 +2.17.0 diff --git a/0018-Enable-rpath-for-build-tools.patch b/0018-Enable-rpath-for-build-tools.patch index 499eab9484ae..9a9bcbc0a457 100644 --- a/0018-Enable-rpath-for-build-tools.patch +++ b/0018-Enable-rpath-for-build-tools.patch @@ -1,7 +1,7 @@ -From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001 +From c2c76f23ead7aa39ab076de58fb52da7dd79d7eb Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 17:59:27 +0200 -Subject: [PATCH 18/32] Enable rpath for build tools +Subject: [PATCH 18/33] Enable rpath for build tools - Required because various tools depend on libQt5Bootstrap.so which resides in folder /usr/${_arch}/lib @@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644 INSTALLS += target -- -2.16.1 +2.17.0 diff --git a/0019-Use-system-zlib-for-build-tools.patch b/0019-Use-system-zlib-for-build-tools.patch index 5bb33f855ce4..c41e5725ad68 100644 --- a/0019-Use-system-zlib-for-build-tools.patch +++ b/0019-Use-system-zlib-for-build-tools.patch @@ -1,17 +1,17 @@ -From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001 +From e21b3f56efc786c0dd5dc75957fc6f3ba198d600 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:04:42 +0200 -Subject: [PATCH 19/32] Use system zlib for build tools +Subject: [PATCH 19/33] Use system zlib for build tools --- src/tools/bootstrap/bootstrap.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro -index 042ad7adb9..7e3bc3977a 100644 +index a45382106a..17b9828581 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro -@@ -132,7 +132,7 @@ macx { +@@ -133,7 +133,7 @@ macx { ../../corelib/io/qstandardpaths_win.cpp } @@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644 } else { CONFIG += no_core_dep -- -2.16.1 +2.17.0 diff --git a/0020-Use-.dll.a-as-import-lib-extension.patch b/0020-Use-.dll.a-as-import-lib-extension.patch index 39d3af6e9432..c1473f53674a 100644 --- a/0020-Use-.dll.a-as-import-lib-extension.patch +++ b/0020-Use-.dll.a-as-import-lib-extension.patch @@ -1,7 +1,7 @@ -From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001 +From b2f4400da1fce797a2a939f731ef2f5689a300c5 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:26:18 +0200 -Subject: [PATCH 20/32] Use *.dll.a as import lib extension +Subject: [PATCH 20/33] Use *.dll.a as import lib extension The variables used here are provided by mingw-w64 specific mkspec @@ -11,10 +11,10 @@ mingw-w64 specific mkspec 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index 146e83ae67..15fc070008 100644 +index 5d553d9ca6..3e5ec55dae 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -236,8 +236,9 @@ mac { +@@ -238,8 +238,9 @@ mac { CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl } else { @@ -64,5 +64,5 @@ index 737f3abc3a..2e6d5d94a9 100644 + project->first("QMAKE_EXTENSION_SHLIB")); project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET"); -- -2.16.1 +2.17.0 diff --git a/0021-Merge-shared-and-static-library-trees.patch b/0021-Merge-shared-and-static-library-trees.patch index c75ede7a9cf2..c532a95d455c 100644 --- a/0021-Merge-shared-and-static-library-trees.patch +++ b/0021-Merge-shared-and-static-library-trees.patch @@ -1,7 +1,7 @@ -From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001 +From 10b1ab0ecf79787af8906a6186088d7e81a05b8a Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:45:08 +0200 -Subject: [PATCH 21/32] Merge shared and static library trees +Subject: [PATCH 21/33] Merge shared and static library trees Allow installation of shared and static build in the same prefix --- @@ -13,10 +13,10 @@ Allow installation of shared and static build in the same prefix 5 files changed, 51 insertions(+), 6 deletions(-) diff --git a/configure.pri b/configure.pri -index ea482552c4..9da756fb3a 100644 +index 0512ef0144..c3ce522e4f 100644 --- a/configure.pri +++ b/configure.pri -@@ -1225,3 +1225,12 @@ defineTest(createConfigStatus) { +@@ -1249,3 +1249,12 @@ defineTest(createConfigStatus) { QMAKE_POST_CONFIGURE += \ "createConfigStatus()" @@ -30,7 +30,7 @@ index ea482552c4..9da756fb3a 100644 + CONFIG += no_smart_library_merge +} diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf -index 7e027325bd..ad0db62b78 100644 +index 9eba5bcf00..0f8d03eb2c 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -1,5 +1,16 @@ @@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644 t << endl; -- -2.16.1 +2.17.0 diff --git a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch index d01739b9b4a5..d894cf8e30c4 100644 --- a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch +++ b/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch @@ -1,22 +1,22 @@ -From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001 +From a9a2bb15ac7ae34e43ff146c8dad6f15e3877dd7 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:32:00 +0200 -Subject: [PATCH 22/32] Pull dependencies of static libraries in CMake modules +Subject: [PATCH 22/33] Pull dependencies of static libraries in CMake modules When doing a static build of Qt, the dependencies of the Qt libraries and plugins itself must be specified when linking the final application. --- - .../features/data/cmake/Qt5BasicConfig.cmake.in | 148 ++++++++++++++++----- - .../features/data/cmake/Qt5PluginTarget.cmake.in | 11 +- - qmake/generators/makefile.cpp | 16 ++- + .../data/cmake/Qt5BasicConfig.cmake.in | 148 ++++++++++++++---- + .../data/cmake/Qt5PluginTarget.cmake.in | 11 +- + qmake/generators/makefile.cpp | 16 +- 3 files changed, 133 insertions(+), 42 deletions(-) diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 55c74aad66..b401db5ac2 100644 +index 27f4c277d6..358945b758 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -55,35 +55,52 @@ but not all the files it references. +@@ -49,35 +49,52 @@ but not all the files it references. endmacro() !!IF !equals(TEMPLATE, aux) @@ -77,7 +77,7 @@ index 55c74aad66..b401db5ac2 100644 ) endif() !!ENDIF -@@ -227,13 +244,47 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -217,13 +234,47 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!IF !isEmpty(CMAKE_STATIC_TYPE) add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") @@ -126,7 +126,7 @@ index 55c74aad66..b401db5ac2 100644 !!IF !equals(TEMPLATE, aux) !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) -@@ -245,6 +296,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -235,6 +286,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES}) @@ -183,7 +183,7 @@ index 55c74aad66..b401db5ac2 100644 set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE) foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS}) if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR}) -@@ -336,9 +437,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -325,9 +426,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) !!ENDIF @@ -197,7 +197,7 @@ index 55c74aad66..b401db5ac2 100644 !!ENDIF // CMAKE_RELEASE_TYPE !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD -@@ -349,29 +452,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -338,29 +441,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) ) !!ENDIF // TEMPLATE != aux @@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644 } -- -2.16.1 +2.17.0 diff --git a/0023-Allow-usage-of-static-version-with-CMake.patch b/0023-Allow-usage-of-static-version-with-CMake.patch index 9ea53096f369..31bf85a14d7c 100644 --- a/0023-Allow-usage-of-static-version-with-CMake.patch +++ b/0023-Allow-usage-of-static-version-with-CMake.patch @@ -1,7 +1,7 @@ -From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001 +From 4e2e5f7c439f46101f59525af6f271912df5b133 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sat, 5 Aug 2017 21:14:26 +0200 -Subject: [PATCH 23/32] Allow usage of static version with CMake +Subject: [PATCH 23/33] Allow usage of static version with CMake Allow selecting between dynamic and static Qt versions installed in the same prefix @@ -11,18 +11,18 @@ installed in the same prefix - Set USE_STATIC_QT_BY_DEFAULT to use static version via regular find_package(Qt5Core) --- - mkspecs/features/create_cmake.prf | 103 ++++--- - .../features/data/cmake/Qt5BasicConfig.cmake.in | 298 ++++++++++++++------- - .../features/data/cmake/Qt5PluginTarget.cmake.in | 18 +- - .../data/cmake/Qt5StaticOnlyRedirection.cmake.in | 11 + - src/corelib/Qt5CoreConfigExtras.cmake.in | 26 +- - src/gui/Qt5GuiConfigExtras.cmake.in | 8 +- - src/testlib/Qt5TestConfigExtras.cmake.in | 2 +- - 7 files changed, 314 insertions(+), 152 deletions(-) + mkspecs/features/create_cmake.prf | 103 +++--- + .../data/cmake/Qt5BasicConfig.cmake.in | 298 ++++++++++++------ + .../data/cmake/Qt5PluginTarget.cmake.in | 18 +- + .../cmake/Qt5StaticOnlyRedirection.cmake.in | 11 + + src/corelib/Qt5CoreConfigExtras.cmake.in | 24 +- + src/gui/Qt5GuiConfigExtras.cmake.in | 8 +- + src/testlib/Qt5TestConfigExtras.cmake.in | 2 +- + 7 files changed, 313 insertions(+), 151 deletions(-) create mode 100644 mkspecs/features/data/cmake/Qt5StaticOnlyRedirection.cmake.in diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index 15fc070008..13bd362092 100644 +index 3e5ec55dae..b6c47124cc 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf @@ -38,7 +38,7 @@ split_incpath { @@ -34,7 +34,7 @@ index 15fc070008..13bd362092 100644 !build_pass:QMAKE_SUBSTITUTES += \ cmake_extra_source_includes -@@ -90,6 +90,8 @@ win32:!static:!staticlib { +@@ -92,6 +92,8 @@ win32:!static:!staticlib { } static|staticlib:CMAKE_STATIC_TYPE = true @@ -43,7 +43,7 @@ index 15fc070008..13bd362092 100644 CMAKE_DEBUG_TYPE = CMAKE_RELEASE_TYPE = -@@ -135,17 +137,19 @@ contains(CONFIG, plugin) { +@@ -137,17 +139,19 @@ contains(CONFIG, plugin) { CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME win32 { @@ -67,7 +67,7 @@ index 15fc070008..13bd362092 100644 mac { isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib else: CMAKE_PlUGIN_EXT = .a -@@ -161,13 +165,13 @@ contains(CONFIG, plugin) { +@@ -163,13 +167,13 @@ contains(CONFIG, plugin) { } } cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in @@ -83,7 +83,7 @@ index 15fc070008..13bd362092 100644 INSTALLS += cmake_qt5_plugin_file return() -@@ -180,27 +184,36 @@ mod_deps = +@@ -182,27 +186,36 @@ mod_deps = lib_deps = aux_mod_deps = aux_lib_deps = @@ -124,7 +124,7 @@ index 15fc070008..13bd362092 100644 !isEmpty(CMAKE_STATIC_TYPE) { CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a -@@ -228,35 +241,33 @@ mac { +@@ -230,35 +243,33 @@ mac { CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a @@ -179,7 +179,7 @@ index 15fc070008..13bd362092 100644 !isEmpty(CMAKE_STATIC_TYPE) { CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a -@@ -276,12 +287,12 @@ mac { +@@ -278,12 +289,12 @@ mac { INSTALLS += cmake_qt5_module_files cmake_config_file.input = $$PWD/data/cmake/Qt5BasicConfig.cmake.in @@ -194,7 +194,7 @@ index 15fc070008..13bd362092 100644 !build_pass:QMAKE_SUBSTITUTES += \ cmake_config_file \ -@@ -291,11 +302,29 @@ cmake_qt5_module_files.files = \ +@@ -293,11 +304,29 @@ cmake_qt5_module_files.files = \ $$cmake_config_file.output \ $$cmake_config_version_file.output @@ -225,7 +225,7 @@ index 15fc070008..13bd362092 100644 !build_pass:QMAKE_SUBSTITUTES += cmake_extras_file -@@ -307,7 +336,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake +@@ -309,7 +338,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake exists($$cmake_macros_file.input) { CMAKE_MODULE_MACROS = "true" @@ -234,7 +234,7 @@ index 15fc070008..13bd362092 100644 cmake_macros_file.CONFIG = verbatim !build_pass:QMAKE_SUBSTITUTES += cmake_macros_file -@@ -315,7 +344,7 @@ exists($$cmake_macros_file.input) { +@@ -317,7 +346,7 @@ exists($$cmake_macros_file.input) { cmake_qt5_module_files.files += $$cmake_macros_file.output } @@ -244,12 +244,12 @@ index 15fc070008..13bd362092 100644 # We are generating cmake files. Most developers of Qt are not aware of cmake, # so we require automatic tests to be available. The only module which should diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index b401db5ac2..e6dd749c9e 100644 +index 358945b758..d123edf665 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -9,6 +9,33 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) +@@ -3,6 +3,33 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) + message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\") endif() - !!ENDIF +!!IF isEmpty(CMAKE_STATIC_TYPE) +# "redirect" to static package overriding variant prefix so it does not contain "Static" anymore @@ -281,7 +281,7 @@ index b401db5ac2..e6dd749c9e 100644 !!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") -@@ -35,15 +62,19 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +@@ -29,15 +56,19 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") !!IF !equals(TEMPLATE, aux) # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. @@ -307,7 +307,7 @@ index b401db5ac2..e6dd749c9e 100644 but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. -@@ -54,23 +85,60 @@ but not all the files it references. +@@ -48,23 +79,60 @@ but not all the files it references. endif() endmacro() @@ -371,7 +371,7 @@ index b401db5ac2..e6dd749c9e 100644 \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\" \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} !!IF !isEmpty(CMAKE_LIB_SONAME) -@@ -80,7 +148,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI +@@ -74,7 +142,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI \"IMPORTED_LINK_INTERFACE_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\" ) !!ELSE @@ -380,7 +380,7 @@ index b401db5ac2..e6dd749c9e 100644 \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} !!IF !isEmpty(CMAKE_LIB_SONAME) -@@ -97,9 +165,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI +@@ -91,9 +159,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI !!ELSE set(imported_implib \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") !!ENDIF @@ -395,7 +395,7 @@ index b401db5ac2..e6dd749c9e 100644 \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" ${imported_implib} ) endif() -@@ -107,8 +179,9 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI +@@ -101,8 +173,9 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI endmacro() !!ENDIF @@ -406,7 +406,7 @@ index b401db5ac2..e6dd749c9e 100644 !!IF !no_module_headers !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS -@@ -116,46 +189,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -110,46 +183,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" ) !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) @@ -474,7 +474,7 @@ index b401db5ac2..e6dd749c9e 100644 endforeach() !!IF isEmpty(CMAKE_BUILD_IS_FRAMEWORK) -@@ -164,16 +241,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -158,16 +235,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) list(FIND Qt5$${CMAKE_MODULE_NAME}_FIND_COMPONENTS Private _check_private) if (NOT _check_private STREQUAL -1) foreach(_dir ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS}) @@ -498,8 +498,8 @@ index b401db5ac2..e6dd749c9e 100644 !!ENDIF // TEMPLATE != aux set(_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_MODULE_DEPS}\") -@@ -183,10 +264,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - endif() +@@ -175,10 +256,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + list(APPEND _Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_INTERFACE_MODULE_DEPS}\") !!ENDIF - set(Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS}) @@ -511,7 +511,7 @@ index b401db5ac2..e6dd749c9e 100644 set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED REQUIRED) endif() set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_QUIET) -@@ -194,17 +275,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -186,17 +267,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) set(_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET QUIET) endif() set(_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT) @@ -533,7 +533,7 @@ index b401db5ac2..e6dd749c9e 100644 $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT} ${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET} ${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED} -@@ -212,28 +293,32 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -204,36 +285,41 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) ) endif() @@ -577,8 +577,7 @@ index b401db5ac2..e6dd749c9e 100644 +!!ENDIF !!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS) - if (NOT CMAKE_VERSION VERSION_LESS 3.0.0) -@@ -242,8 +327,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\") !!ENDIF !!IF !isEmpty(CMAKE_STATIC_TYPE) @@ -590,7 +589,7 @@ index b401db5ac2..e6dd749c9e 100644 macro(_process_prl_file PRL_FILE_LOCATION CONFIGURATION) if (EXISTS \"${PRL_FILE_LOCATION}\") file(STRINGS \"${PRL_FILE_LOCATION}\" prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE\") -@@ -267,34 +353,45 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -257,34 +343,45 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endmacro() !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) @@ -646,7 +645,7 @@ index b401db5ac2..e6dd749c9e 100644 # Find plugin targets file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\") -@@ -308,7 +405,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -298,7 +395,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endforeach() endif() @@ -658,7 +657,7 @@ index b401db5ac2..e6dd749c9e 100644 set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG}) !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) -@@ -316,7 +417,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -306,7 +407,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") !!ENDIF @@ -670,7 +669,7 @@ index b401db5ac2..e6dd749c9e 100644 set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES \"IMPORTED_LOCATION_${CONFIG}\" ${imported_location} ) -@@ -347,7 +452,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -337,16 +442,16 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endif() set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE) @@ -679,10 +678,9 @@ index b401db5ac2..e6dd749c9e 100644 if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR}) set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST FALSE) endif() -@@ -355,9 +460,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + endforeach() - if (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST - AND NOT CMAKE_VERSION VERSION_LESS 3.0.0 ) + if (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST) - add_library(Qt5::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY - INTERFACE_INCLUDE_DIRECTORIES ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS} @@ -692,7 +690,7 @@ index b401db5ac2..e6dd749c9e 100644 ) set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS) foreach(dep ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}) -@@ -365,66 +470,68 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -354,66 +459,68 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private) endif() endforeach() @@ -783,7 +781,7 @@ index b401db5ac2..e6dd749c9e 100644 if (EXISTS !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" -@@ -437,7 +544,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -426,7 +533,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) !!ENDIF @@ -792,7 +790,7 @@ index b401db5ac2..e6dd749c9e 100644 endif() !!ENDIF // CMAKE_STATIC_TYPE -@@ -447,19 +554,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -436,19 +543,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF // CMAKE_DEBUG_TYPE !!ELSE // TEMPLATE != aux @@ -870,7 +868,7 @@ index 0000000000..0091940fd2 +set(OVERRIDE_QT_VARIANT_PREFIX "${ORIGINAL_OVERRIDE_QT_VARIANT_PREFIX}") + diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in -index 545b9a3d1e..ebe6644dfe 100644 +index e0652fdcf9..f0add757bb 100644 --- a/src/corelib/Qt5CoreConfigExtras.cmake.in +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in @@ -1,4 +1,6 @@ @@ -902,19 +900,16 @@ index 545b9a3d1e..ebe6644dfe 100644 set(_qt5_corelib_extra_includes) # Targets using Qt need to use the POSITION_INDEPENDENT_CODE property. The -@@ -81,9 +83,9 @@ set(Qt5_POSITION_INDEPENDENT_CODE True) - if (CMAKE_VERSION VERSION_LESS 2.8.12 - AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL \"GNU\" - OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)) -- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\") -+ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\") - else() -- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP) -+ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP) - endif() - - # Applications using qmake or cmake >= 2.8.12 as their build system will -@@ -103,7 +105,7 @@ endif() +@@ -78,7 +80,7 @@ set(Qt5_POSITION_INDEPENDENT_CODE True) + # Applications now need to be compiled with the -fPIC option if the Qt option + # \"reduce relocations\" is active. For backward compatibility only, Qt accepts + # the use of -fPIE for GCC 4.x versions. +-set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP) ++set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP) + + # TODO Qt6: Remove + set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\") +@@ -86,7 +88,7 @@ set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\") !!IF !isEmpty(QT_NAMESPACE) list(APPEND Qt5Core_DEFINITIONS -DQT_NAMESPACE=$$QT_NAMESPACE) list(APPEND Qt5Core_COMPILE_DEFINITIONS QT_NAMESPACE=$$QT_NAMESPACE) @@ -923,7 +918,7 @@ index 545b9a3d1e..ebe6644dfe 100644 !!ENDIF !!IF !isEmpty(CMAKE_DISABLED_FEATURES) -@@ -112,9 +114,9 @@ set(Qt5_DISABLED_FEATURES +@@ -95,9 +97,9 @@ set(Qt5_DISABLED_FEATURES ) !!ENDIF @@ -935,7 +930,7 @@ index 545b9a3d1e..ebe6644dfe 100644 !!IF qtConfig(reduce_exports) set(QT_VISIBILITY_AVAILABLE \"True\") -@@ -162,14 +164,14 @@ if (NOT TARGET Qt5::WinMain) +@@ -145,14 +147,14 @@ if (NOT TARGET Qt5::WinMain) set(_isWin32 $<BOOL:$<TARGET_PROPERTY:WIN32_EXECUTABLE>>) set(_isNotExcluded $<NOT:$<BOOL:$<TARGET_PROPERTY:Qt5_NO_LINK_QTMAIN>>>) set(_isPolicyNEW $<TARGET_POLICY:CMP0020>) @@ -997,5 +992,5 @@ index 2a575958ae..ca0e3be3b5 100644 INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" ) -- -2.16.1 +2.17.0 diff --git a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch index d463e883d3ad..c0d4180ce96a 100644 --- a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch +++ b/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch @@ -1,7 +1,7 @@ -From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001 +From c34e48c2f0ce088b746e2d8bdc646db929339454 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 2 Jun 2017 16:42:07 +0200 -Subject: [PATCH 24/32] Adjust linker flags for static build with +Subject: [PATCH 24/33] Adjust linker flags for static build with cmake/mingw-w64 Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d @@ -10,10 +10,10 @@ Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d 1 file changed, 7 insertions(+) diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in -index ebe6644dfe..687d611b3f 100644 +index f0add757bb..5328da2e80 100644 --- a/src/corelib/Qt5CoreConfigExtras.cmake.in +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in -@@ -190,3 +190,10 @@ get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH) +@@ -173,3 +173,10 @@ get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH) set(_Qt5CTestMacros \"${_Qt5CoreConfigDir}/Qt5CTestMacros.cmake\") _qt5_Core_check_file_exists(${_Qt5CTestMacros}) @@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644 +unset(_isExe) +!!ENDIF -- -2.16.1 +2.17.0 diff --git a/0025-Use-correct-pkg-config-static-flag.patch b/0025-Use-correct-pkg-config-static-flag.patch index db588595a429..b770cfd83e13 100644 --- a/0025-Use-correct-pkg-config-static-flag.patch +++ b/0025-Use-correct-pkg-config-static-flag.patch @@ -1,14 +1,14 @@ -From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001 +From f7284cc26542c8d760e0d348be44f1bf947296cb Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:50:21 +0200 -Subject: [PATCH 25/32] Use correct pkg-config --static flag +Subject: [PATCH 25/33] Use correct pkg-config --static flag --- configure.pri | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configure.pri b/configure.pri -index 9da756fb3a..fa2719bb0c 100644 +index c3ce522e4f..59a9b1e88a 100644 --- a/configure.pri +++ b/configure.pri @@ -311,6 +311,9 @@ defineTest(qtConfTest_detectPkgConfig) { @@ -22,5 +22,5 @@ index 9da756fb3a..fa2719bb0c 100644 $$qtConfEvaluate("features.cross_compile") { # cross compiling, check that pkg-config is set up sanely -- -2.16.1 +2.17.0 diff --git a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/0026-Fix-macro-invoking-moc-rcc-and-uic.patch index eedb6ba5282a..23e7c6f99f3e 100644 --- a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch +++ b/0026-Fix-macro-invoking-moc-rcc-and-uic.patch @@ -1,7 +1,7 @@ -From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001 +From 9204f18623db15d10cadbd4c659f47550584984a Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 4 Dec 2016 20:35:47 +0100 -Subject: [PATCH 26/32] Fix macro invoking moc, rcc and uic +Subject: [PATCH 26/33] Fix macro invoking moc, rcc and uic * Otherwise the arguments aren't passed correctly leading to errors like ``` @@ -18,7 +18,7 @@ Change-Id: I6fde86d0a3ade37b4376604a1eb6d5723eda8b4c 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake -index 8d3dbe3ecf..f0f0d69309 100644 +index 1627de4002..ed0f6555a7 100644 --- a/src/corelib/Qt5CoreMacros.cmake +++ b/src/corelib/Qt5CoreMacros.cmake @@ -132,8 +132,9 @@ function(QT5_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target @@ -32,7 +32,7 @@ index 8d3dbe3ecf..f0f0d69309 100644 DEPENDS ${infile} ${moc_depends} ${_moc_working_dir} VERBATIM) -@@ -254,8 +255,9 @@ function(QT5_ADD_BINARY_RESOURCES target ) +@@ -248,8 +249,9 @@ function(QT5_ADD_BINARY_RESOURCES target ) set(rc_depends ${rc_depends} ${_rc_depends}) endforeach() @@ -43,7 +43,7 @@ index 8d3dbe3ecf..f0f0d69309 100644 ARGS ${rcc_options} --binary --name ${target} --output ${rcc_destination} ${infiles} DEPENDS ${rc_depends} ${out_depends} ${infiles} VERBATIM) add_custom_target(${target} ALL DEPENDS ${rcc_destination}) -@@ -287,8 +289,9 @@ function(QT5_ADD_RESOURCES outfiles ) +@@ -281,8 +283,9 @@ function(QT5_ADD_RESOURCES outfiles ) _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends) set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON) @@ -70,5 +70,5 @@ index 737371a5ad..d103278cdf 100644 MAIN_DEPENDENCY ${infile} VERBATIM) set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON) -- -2.16.1 +2.17.0 diff --git a/0027-Ignore-errors-about-missing-feature-static.patch b/0027-Ignore-errors-about-missing-feature-static.patch index 2c7ef03220dd..e7d0f24ddf56 100644 --- a/0027-Ignore-errors-about-missing-feature-static.patch +++ b/0027-Ignore-errors-about-missing-feature-static.patch @@ -1,7 +1,7 @@ -From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001 +From c1a0fe77f6528695728fc35d7057da66939d39e0 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 20:59:54 +0100 -Subject: [PATCH 27/32] Ignore errors about missing feature static +Subject: [PATCH 27/33] Ignore errors about missing feature static Not sure why this error occurs, let's hope for the best --- @@ -10,10 +10,10 @@ Not sure why this error occurs, let's hope for the best 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf -index 76e1d15319..9a1c5cd8b6 100644 +index 021036e4f9..16e8aa631d 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf -@@ -138,5 +138,5 @@ defineTest(qtConfig) { +@@ -140,5 +140,5 @@ defineTest(qtConfig) { contains(QT.$${module}.disabled_features, $$1): \ return(false) } @@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644 + !equals($$1, "static"): error("Could not find feature $${1}.") } -- -2.16.1 +2.17.0 diff --git a/0028-Enable-and-fix-use-of-iconv.patch b/0028-Enable-and-fix-use-of-iconv.patch index 3ad2c176f785..72ac55163b14 100644 --- a/0028-Enable-and-fix-use-of-iconv.patch +++ b/0028-Enable-and-fix-use-of-iconv.patch @@ -1,7 +1,7 @@ -From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001 +From 075aed08de151f6fc1c8dad91214c66ce4e614d5 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 21:08:20 +0100 -Subject: [PATCH 28/32] Enable and fix use of iconv +Subject: [PATCH 28/33] Enable and fix use of iconv Change-Id: I5f0ab27afca0800dec11c7af74d196190820ae5c --- @@ -24,7 +24,7 @@ index fe4b87b923..be4236436f 100644 size_t inbytes, outbytes; iconv(x, &inp, &inbytes, &outp, &outbytes); diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp -index d6362b6fbc..4da4546a24 100644 +index 330eb7c038..88a782b863 100644 --- a/src/corelib/codecs/qiconvcodec.cpp +++ b/src/corelib/codecs/qiconvcodec.cpp @@ -49,7 +49,6 @@ QT_REQUIRE_CONFIG(iconv); @@ -63,10 +63,10 @@ index d6362b6fbc..4da4546a24 100644 #else char **inBytesPtr = &inBytes; diff --git a/src/corelib/configure.json b/src/corelib/configure.json -index 8cd73d6ce4..dd259157e3 100644 +index 5e48024def..15e7372dcb 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json -@@ -521,9 +521,9 @@ +@@ -539,9 +539,9 @@ }, "gnu-libiconv": { "label": "GNU iconv", @@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644 }, "icu": { -- -2.16.1 +2.17.0 diff --git a/0029-Ignore-failing-pkg-config-test.patch b/0029-Ignore-failing-pkg-config-test.patch index 16250b8d137d..61caf681d8af 100644 --- a/0029-Ignore-failing-pkg-config-test.patch +++ b/0029-Ignore-failing-pkg-config-test.patch @@ -1,7 +1,7 @@ -From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001 +From ef184cf89b14e092051a2644b5fefa0e2bfaf7fe Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 21:08:48 +0100 -Subject: [PATCH 29/32] Ignore failing pkg-config test +Subject: [PATCH 29/33] Ignore failing pkg-config test Didn't investigate why it fails, let's hope for the best --- @@ -9,10 +9,10 @@ Didn't investigate why it fails, let's hope for the best 1 file changed, 1 deletion(-) diff --git a/configure.json b/configure.json -index 7e0b7ffb56..0f098e7b3f 100644 +index dfb8835ecb..f9735f59cd 100644 --- a/configure.json +++ b/configure.json -@@ -725,7 +725,6 @@ +@@ -597,7 +597,6 @@ "pkg-config": { "label": "Using pkg-config", "autoDetect": "!config.darwin && !config.win32", @@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644 "publicFeature", { "type": "publicQtConfig", "negative": true }, -- -2.16.1 +2.17.0 diff --git a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch index 33aee858ed8f..38f184dfaafd 100644 --- a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch +++ b/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch @@ -1,7 +1,7 @@ -From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001 +From a401f6740c459cc21909ec406814852ff3ec233d Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Tue, 7 Feb 2017 18:25:28 +0100 -Subject: [PATCH 30/32] Prevent qmake from messing static lib dependencies +Subject: [PATCH 30/33] Prevent qmake from messing static lib dependencies In particular, it messes resolving cyclic dependency between static freetype2 and harfbuzz @@ -39,5 +39,5 @@ index 2e6d5d94a9..a8320bae09 100644 static const char * const lflags[] = { "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", 0 }; for (int i = 0; lflags[i]; i++) { -- -2.16.1 +2.17.0 diff --git a/0031-Hardcode-linker-flags-for-platform-plugins.patch b/0031-Hardcode-linker-flags-for-platform-plugins.patch index 807a40e7441f..6f873f40eb9b 100644 --- a/0031-Hardcode-linker-flags-for-platform-plugins.patch +++ b/0031-Hardcode-linker-flags-for-platform-plugins.patch @@ -1,19 +1,19 @@ -From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001 +From 1c4ecb65d3f7a060f499cad169a7252b550f6769 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 23:42:30 +0100 -Subject: [PATCH 31/32] Hardcode linker flags for platform plugins +Subject: [PATCH 31/33] Hardcode linker flags for platform plugins Otherwise incorrect order of libs leads to errors when building libqminimal.dll, libqoffscreen.dll and libqwindows.dll --- - src/plugins/platforms/minimal/minimal.pro | 15 +++++++++++-- - src/plugins/platforms/offscreen/offscreen.pro | 14 ++++++++++-- - src/plugins/platforms/windows/windows.pro | 32 +++++++++++++++++++-------- + src/plugins/platforms/minimal/minimal.pro | 15 +++++++-- + src/plugins/platforms/offscreen/offscreen.pro | 14 ++++++-- + src/plugins/platforms/windows/windows.pro | 32 +++++++++++++------ 3 files changed, 48 insertions(+), 13 deletions(-) diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro -index 8cfb68824e..46834a71fc 100644 +index a1a2da547b..7ef91b574d 100644 --- a/src/plugins/platforms/minimal/minimal.pro +++ b/src/plugins/platforms/minimal/minimal.pro @@ -1,8 +1,19 @@ @@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644 include(windows.pri) -- -2.16.1 +2.17.0 diff --git a/0032-Fix-linking-against-static-plugins-with-qmake.patch b/0032-Fix-linking-against-static-plugins-with-qmake.patch index 6b7b9f0df8c1..92b0abe8e2b1 100644 --- a/0032-Fix-linking-against-static-plugins-with-qmake.patch +++ b/0032-Fix-linking-against-static-plugins-with-qmake.patch @@ -1,7 +1,7 @@ -From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001 +From af66aa78320b37f4c5100e2822eceb3ecd0a703a Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 25 Aug 2017 17:07:17 +0200 -Subject: [PATCH 32/32] Fix linking against static plugins with qmake +Subject: [PATCH 32/33] Fix linking against static plugins with qmake Required because qtConfig(static) does not work with 'Merge shared and static library trees' @@ -33,5 +33,5 @@ index 6eebd068f1..310b8713f0 100644 # Check if the plugin is known to Qt. We can use this to determine # the plugin path. Unknown plugins must rely on the default link path. -- -2.16.1 +2.17.0 diff --git a/0033-Disable-hardware-randomizer-for-32-bit.patch b/0033-Disable-hardware-randomizer-for-32-bit.patch new file mode 100644 index 000000000000..d7cf9b4b1e89 --- /dev/null +++ b/0033-Disable-hardware-randomizer-for-32-bit.patch @@ -0,0 +1,49 @@ +From 3758ea380174eaf89f31b68d5b7e4e2bf02e50be Mon Sep 17 00:00:00 2001 +From: Martchus <martchus@gmx.net> +Date: Sat, 26 May 2018 03:47:14 +0200 +Subject: [PATCH 33/33] Disable hardware randomizer for 32-bit +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Otherwise it fails to compile src/corelib/global/qrandom.cpp: +``` +during RTL pass: ira +/build/mingw-w64-qt5-base/src/qtbase-everywhere-src-5.11.0/src/corelib/global/qrandom.cpp: In function ‘qsizetype qt_random_cpu(void*, qsizetype)’: +/build/mingw-w64-qt5-base/src/qtbase-everywhere-src-5.11.0/src/corelib/global/qrandom.cpp:121:1: internal compiler error: in ix86_compute_frame_layout, at config/i386/i386.c:11693 + } +``` +--- + src/corelib/global/qrandom.cpp | 2 +- + src/corelib/global/qrandom_p.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp +index ebf9864b15..2fb04ab12a 100644 +--- a/src/corelib/global/qrandom.cpp ++++ b/src/corelib/global/qrandom.cpp +@@ -90,7 +90,7 @@ DECLSPEC_IMPORT BOOLEAN WINAPI SystemFunction036(PVOID RandomBuffer, ULONG Rando + + QT_BEGIN_NAMESPACE + +-#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND) ++#if defined(Q_PROCESSOR_X86_64) && QT_COMPILER_SUPPORTS_HERE(RDRND) + static qsizetype qt_random_cpu(void *buffer, qsizetype count) Q_DECL_NOTHROW; + + # ifdef Q_PROCESSOR_X86_64 +diff --git a/src/corelib/global/qrandom_p.h b/src/corelib/global/qrandom_p.h +index 917a91098e..c770a3e19b 100644 +--- a/src/corelib/global/qrandom_p.h ++++ b/src/corelib/global/qrandom_p.h +@@ -81,7 +81,7 @@ enum { qt_randomdevice_control = 0 }; + + inline bool qt_has_hwrng() + { +-#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND) ++#if defined(Q_PROCESSOR_X86_64) && QT_COMPILER_SUPPORTS_HERE(RDRND) + return qCpuHasFeature(RDRND); + #else + return false; +-- +2.17.0 + @@ -3,62 +3,14 @@ # Contributor: Filip Brcic <brcha@gna.org> # Contributor: jellysheep <max.mail@dameweb.de> +# BEFORE COMMENTING OR REPORING ISSUES, PLEASE READ THE FILE `README.md` IN THIS REPOSITORY. +# ALSO HAVE A LOOK AT THE COMMENTS IN THE AUR. + # All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where # you also find the URL of a binary repository. # All patches are managed at https://github.com/Martchus/qtbase -# There are different variants of the package which can be selected by simply adjusting pkgname: -# - mingw-w64-qt5-base or mingw-w64-qt5-base-opengl: using native OpenGL -# - mingw-w64-qt5-base-angle: using ANGLE rather than native OpenGL -# - mingw-w64-qt5-base-dynamic: allows choosing between ANGLE and native OpenGL dynamically at runtime -# - mingw-w64-qt5-base-noopenql: no OpenGL support -# The variants are conflicting (and hence can not be installed at the same time). -# See also: http://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers - -# The variants listed above only contain dynamic libraries. For building static libraries -# just append '-static' to the package name, eg. mingw-w64-qt5-base-static or mingw-w64-qt5-base-angle-static. -# The static variants rely on the corresponding dynamic variant for headers and tools. -# I only tested the static variant using native OpenGL so far (mingw-w64-qt5-base-static). -# Note that ANGLE will still be loaded as dynamic library in mingw-w64-qt5-base-dynamic-static. - -# By default CMake and qmake will link against the dynamic Qt libraries. - -# To use the static Qt libraries with CMake prepend the Qt module name with Static: -# eg. find_package(Qt5Core) becomes find_package(StaticQt5Core) -# To use a static module, add the corresponding imported target, eg. -# target_link_libraries(target ... StaticQt5::Core) -# and using -# This approach allows installing dynamic and static Qt in the same prefix -# and using both variants in the same CMake project. - -# To use a static plugin, add the corresponding imported target, eg. -# target_link_libraries(target ... StaticQt5::QWindowsIntegrationPlugin) -# Automatically importing static plugins is currently not possible, though. Hence it is required to use Q_IMPORT_PLUGIN, eg. -# #include<QtPlugin> -# Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) - -# It is also possible to use static Qt libraries with CMake by setting the -# variable USE_STATIC_QT_BY_DEFAULT: set(USE_STATIC_QT_BY_DEFAULT ON) -# In this case the regular imported targets (eg. Qt5::Core) will be static. -# This approach does *not* allow to use dynamic and static Qt in the same -# CMake project. - -# To use the static Qt libraries with qmake add 'static' to the project config (either inside the *.pro file or as qmake argument): -# CONFIG+=static - -# Further Qt modules (those not found in the base repository and hence not included in this package) include by default -# static and dynamic libraries; if only one version is requried, just set NO_STATIC_LIBS or NO_SHARED_LIBS when building -# the package, eg. by adding 'NO_STATIC_LIBS=1' to /etc/makepkg.conf. - -# By default, executables will not be removed because I find them useful when testing. To remove executables -# set NO_EXECUTABLES (or NO_STATIC_EXECUTABLES to remove statically linked executables only) when building the package. -# If Qt modules containing tools are built as static and as dynamic library only the dynamically linked tools will be present -# in the package. - -# Qt packages can be built in the following order (for example): -# qt5-base qt5-base-static qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-svg qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-gamepad qt5-scxml qt5-datavis3s qt5-virtualkeyboard qt5-activeqt qt5-webkit - # Helper functions for the split builds isDefault() { [[ $pkgname = 'mingw-w64-qt5-base' ]] || [[ $pkgname = 'mingw-w64-qt5-base-static' ]] @@ -84,7 +36,7 @@ isNoOpenGL() { } pkgname=mingw-w64-qt5-base -pkgver=5.10.1 +pkgver=5.11.0 pkgrel=1 pkgdesc='A cross-platform application and UI framework (mingw-w64)' # The static variant doesn't contain any executables which need to be executed on the build machine @@ -100,7 +52,7 @@ makedepends=('mingw-w64-gcc' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector options=('!strip' '!buildflags' 'staticlibs' '!emptydirs') _pkgfqn="qtbase-everywhere-src-${pkgver}" source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz" - '0001-Add-profile-for-cross-compilation-with-mingw-w64.patch' + '0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch' '0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch' '0003-Use-external-ANGLE-library.patch' '0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch' @@ -131,40 +83,42 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm '0029-Ignore-failing-pkg-config-test.patch' '0030-Prevent-qmake-from-messing-static-lib-dependencies.patch' '0031-Hardcode-linker-flags-for-platform-plugins.patch' - '0032-Fix-linking-against-static-plugins-with-qmake.patch') -sha256sums=('d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969' - '6b29d7a3751a506c15155425d6dc213e9f4654ee5b833007a0119bda6a050b28' - 'ca10438f4a2d309f496e85d7b974d9eeb88115e068e146ca511b9784db95b822' - '75bf0d8b155f95bad2dfbc5c046f88afd6a5f2233336a1f6d148583ba445fca6' - 'd70dcd1c44e751b0120f514af9db4ff20ebb0a327a22a371cf5e8d9453f66953' - 'cbad834340bc9e9261704034e9192bd0d7306f9ff02a99fd73fc348948c37ed9' - '3c7cd1839a6f0891b871c75824b8ebeb05e4e61884c342d6b6ab583f10819138' - 'c923da99871dac4fc58b8e70bd76c70fba0f421fc676a53bcb8c0187190ba737' - 'f9be656281652f72297f1e573f23298c22f4849857d92106096feb4b3fe9244f' - '5add111a9e521159e31ecef4d85ebef86285bbbe2adce5d8cec94fd22822731e' - '7d38e79bc6b2e5d74515291bf78c3a6168f8bc834f7f59bda2c013f65e45bd3e' - '9ab62cc8cd1cf68ee5e87e276d5a2f19c43b04a1c50c10341794924277cfcca5' - 'f1926bd51376a95ea1deee933dadd62166296e5780e24ce8312637c9d3eda27b' - '03f7a178af6b630f48da79c76e1239695d96137fd8394ba814e4bdf8c7e0a826' - 'dc3e0e3fe4ba979f74ff9dc343b235d32473edb18ca7f8afea3076f613564a95' - 'ef64b965a19e1e2848761829a6817dcb9f3ad616faa666f9e52736d810190c66' - '9e0c3848df586ec7decd9b7a6dab86a9e7e5cc7bf5ac06ff97d7d63e370bb05b' - '7dc90045a838f9ebcb7933d582abb3e8bba250644602e1019bf1a03e74cc3b09' - 'b5cc23a29e80ec8185da8ca0950ab8a2f12f4ef4b998c763334d352e68b53fc2' - '944cfdbfd9d13285aefb4305596950d2880cc1023b5ad241af08e3d6995daa69' - '5f7498a98912542c39b081c2df1930246df3bdb533c2e30204bf795cea8b885f' - '0b8408d70a4544e43fd573e5b9ac751fb2732d3e4490f21e1737ac09ece25b62' - '08155a41f22c03741096145bf201d5503e38495c2f255f3c81ea658948258cd3' - '7b30d46f739dffa20a1964e09958a92af1749104fe7a88d7ea255aa54e553b25' - 'c92d6a124b7b0333175122555ef9f647817eb54563480cf3eaaf47decfd907c3' - '0818c4d59aabb898fed8f313e21085cc8fc576d3f4975383eb73ba3f758c302e' - 'ce5d416a3404199072062063d8038084c23bbfe8aa45ed3340c4afb4dfa461e4' - '8d1e93bea1cdcdf1b965f4c061975668334cef6a65130f1b4b528f2b6952a602' - '298ffdcd378e2b07fe8e978cfb5faac29c117a5f79288273545a6938b905f33a' - '7514edba8ecd28b27715650bbafa8649492b68efba1df9c9fa70f06a924fea14' - '7c232c385303b447e17270b946d333b56274312b08b4e76439a5f77cb77aa909' - 'acfdf70ae8738a0373bbd93e42048d1c699f666dd72933ad3c09b09620fb0715' - 'c3df40da9b2494e59aae786a26ba93d88128b69971d10a64cb6d610045a101f8') + '0032-Fix-linking-against-static-plugins-with-qmake.patch' + '0033-Disable-hardware-randomizer-for-32-bit.patch') +sha256sums=('ed6e46db84f7d34923ab4eae165c63e05ab3cfa9d19a73d3f57b4e7bfd41de66' + 'd01df5be5f96578f65c0343b1ae6eaac31e0c7608fb9b69e745865a5dfc8a1a3' + '29621ba67b026c9fb61ba865ba9d6198d3b8914623609b97bbc375feb33415b2' + '58435fde3af1478450c49637581884c217bd9080704dc80d035eb38df4706a6e' + '3b4dff095110e60257f794c31e5c3b7f73c91d690c7acb3182b489d04988dd27' + '2b62c549626e76da5c36779fe7dd18bddb8041fdb1b983cd29651cf5b0a2b905' + '5c94228d93b7a6340098968738477f9720908a360358f51cd1bc6590e83679c0' + '164b09da056113e19b859a151f93803f19e0c9ea5130db916722f5f0bcb7a8cd' + '351e61261c87d700f4076c6d3f19e81a60d1bfcc0e64f2164cb2696c47a0fafc' + 'a1ed220ddba56656fdbc37163e794f3b43e9a5dae6099b2b23967e870cd9214e' + '844d136f65d498dc1eea11e1882cf2645320d249c82fdcec5d25875e9158cb39' + 'a4a4f5ea9bc79b474ea3c5d86903054d6e9242a22b84589c210b3b8c2f797447' + '7d1d1d57bff00ae77d5480955b85737bd4f30185f5b99f8b34d89f90976f53fb' + '1937bb971912fa7021295174aee8c250a7be9c2d3e3ad76f700d9f7d80fd1117' + '504fd54855d13a326cb65cffc006d1c67d9e6236830df9f581106ae8fe319fff' + 'b732bca79bced6595e278e9e7ceec79306f51be121e78db0a9faa461344c918d' + 'f86242c7e013971812c9a17d667db362ac10d19a63b51cda23d1f306bc8f3242' + 'da007b133f51f27342854e0fb251a1784096f24dab454def99c8496c143f38e5' + 'e6e8f2290a019071ded71c090c3cb8b24e0e33a37dcabdc6f676b886c18dd06a' + '83645b01666aae48121ea9a952c6cfce9ba2aedb3edb9e1b11a893a5d8882831' + 'bb7e54a090ceb6cddac43acee2f34d888a15df2ae0e99808ef6aad9ff6e9ebcf' + '7166f4ab8b7c5a60c4a6e3ac86411719fab67ef6a6c5a16463c6541e9955ce17' + 'bf1defbedd5c0d26aa000178092ac2c87ecb70b992184dc8ffff4502351e70c2' + '29289ac6b2380c4a5d551d3c9b331f9b13190f4dafabdc203dcbfabcb4075c4d' + '0494a41d31ff097cd59117557a6869c5e0e7670eef33267f93974c15e4445e76' + 'bc53b50f4055170fea15b669366b8961e896d2705f91382ee3beea013979408e' + '08d299eb938edc1d535bbb68b5b720203e2dffbc49129218bb1368791e6fb384' + '20d945b374b0e73501013fcf6ba9fd7e8732b76060c948faeb42c605f2f9dd1f' + 'd9eeaceb89efd143918a1bfed6b60d33e004e8421a613036647f318320b25d6a' + 'fb54191f4479ed66446d9c6b9066be11c5d2d580ff4aa0910a3ad29183329e75' + 'df8bfa7901b6af9de447a4f4d0983419f7c1fe5882cc97614d0e5b0759c67dec' + '65d4a1aedc465dd9f5284cd1e2a352bc3c21e8e8e697e58ff9e89f54e5fcb173' + '178144d85cf4c69ae5cea694959a555c4a8eb3a0a5ad5116a2c979beac0e36c0' + '704c95d7fc157e58cc7d4436eb74bdcc0453ba29bb3326a3fe511ee35273e4c3') _architectures='i686-w64-mingw32 x86_64-w64-mingw32' @@ -206,39 +160,33 @@ patch() { prepare() { cd "${srcdir}/${_pkgfqn}" - # Apply patches; further descriptions can be found in patch files itself + # apply patches; further descriptions can be found in patch files itself for patch in "$srcdir/"*.patch; do patch -p1 -i "$patch" done - # Make sure the Qt5 build system uses our external ANGLE library + # make sure the Qt 5 build system uses our external ANGLE library rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR} - # As well as our external PCRE library and zlib + # as well as our external PCRE library and zlib rm -rf src/3rdparty/{pcre,zlib} } build() { cd "${srcdir}/${_pkgfqn}" - # Do not set any flags here, flags are configured via mkspec - # Setting flags here is not appropriate as it does not allow to - # distinguish between flags for native compiler and cross compiler + # do not set any flags here, flags are configured via mkspec + # (Setting flags here is not appropriate as it does not allow to + # distinguish between flags for native compiler and cross compiler.) unset CFLAGS unset CXXFLAGS unset LDFLAGS unset PKG_CONFIG_PATH for _arch in ${_architectures}; do - # To prevent conflicts with the mingw-w64-qt4 package we have - # to put tools in a dedicated folder - - # The last device option allows using ccache despite the use of - # pre-compile header - # (sloppiness must be set to pch_defines,time_macros in ccache config) - + # define general configure arguments local qt_configure_args="\ - -xplatform mingw-w64-g++ \ + -xplatform win32-g++ \ -optimized-qmake \ -verbose \ -opensource \ @@ -277,18 +225,22 @@ build() { -sysconfdir /usr/${_arch}/etc \ -translationdir /usr/${_arch}/share/qt/translations \ -device-option CROSS_COMPILE=${_arch}- \ - -device-option CROSS_COMPILE_PREFIX=/usr/${_arch} \ - -device-option CROSS_COMPILE_CFLAGS=-fpch-preprocess" + -device-option CROSS_COMPILE_PREFIX=/usr/${_arch}" + + # allows using ccache despite the use of pre-compile header (sloppiness must be set to pch_defines,time_macros in ccache config for this) + qt_configure_args+=' -device-option CROSS_COMPILE_CFLAGS=-fpch-preprocess' - # Fix include directory of freetype2 and dbus - qt_configure_args+=" $(${_arch}-pkg-config --cflags-only-I freetype2 dbus-1)" + # add include directory of freetype2 and dbus manually (pkg-config detection in qmake doesn't work which is currently ignored via a patch) + qt_configure_args+=" $(${_arch}-pkg-config --cflags-only-I freetype2 dbus-1 | sed -e "s/-I\/usr\/${_arch}\/include //g")" + # note: The sed is required to prevent -isystem /usr/${_arch}/include (qmake will turn -I into -isystem) which would lead to + # the same issue as here: https://github.com/Martchus/tageditor/issues/22#issuecomment-330899141 - # Enable debug build if MINGW_W64_QT_DEBUG_BUILD is set (in /etc/makepkg.config) + # enable debug build if MINGW_W64_QT_DEBUG_BUILD is set (could be set in eg. /etc/makepkg.config if debug build is wanted) [[ $MINGW_W64_QT_DEBUG_BUILD ]] \ && qt_configure_args+=' -debug-and-release' \ || qt_configure_args+=' -release' - # Configure usage of ANGLE/OpenGL + # configure usage of ANGLE/OpenGL if isOpenGL; then msg2 'Using native OpenGL backend' qt_configure_args+=' -opengl desktop' @@ -303,35 +255,38 @@ build() { msg2 'Using ANGLE as OpenGL backend' qt_configure_args+=' -angle' fi - # GL_GLEXT_PROTOTYPES must be defined to enable declarations of GLES functions + # enable declarations of GLES functions qt_configure_args+=' -DGL_GLEXT_PROTOTYPES' fi - # Fix MariaDB + # add include directory of MariaDB qt_configure_args+=" -I/usr/${_arch}/include/mariadb" msg2 'Configure and build qmake' mkdir -p ../build-${_arch} && pushd ../build-${_arch} if isStatic; then - export OPENSSL_LIBS="/usr/${_arch}/lib/libssl.a /usr/${_arch}/lib/libcrypto.a -lws2_32 -lgdi32 -lcrypt32" - ../${_pkgfqn}/configure \ - $qt_configure_args \ - -static \ - -openssl-linked - msg2 'Build static Qt libraries' - make + qt_configure_args+=' -static' + + # configure static version to use linked OpenSSL + qt_configure_args+=' -openssl-linked' + export OPENSSL_LIBS="/usr/${_arch}/lib/libssl.a /usr/${_arch}/lib/libcrypto.a -lws2_32 -lgdi32 -lcrypt32 -ldnsapi -liphlpapi" + else - # The LD_LIBRARY_PATH override is needed because libQt5Bootstrap* are shared - # libraries which various compiled tools (like moc) use. As the libQt5Bootstrap* - # libraries aren't installed at this point yet, we have to workaround this - ../${_pkgfqn}/configure \ - $qt_configure_args \ - -shared \ - -openssl-runtime \ - -device-option 'CROSS_COMPILE_CUSTOM_CONFIG=actually_a_shared_build' - msg2 'Build shared Qt libraries' - LD_LIBRARY_PATH="$PWD/lib" LDFLAGS="-L$PWD/lib" make + qt_configure_args+=' -shared' + + # configure shared version to load OpenSSL dynamically + qt_configure_args+=' -openssl-runtime' + + qt_configure_args+=' -device-option CROSS_COMPILE_CUSTOM_CONFIG=actually_a_shared_build' + + # override LD_LIBRARY_PATH so libraries for native build tools like libQt5Bootstrap.so are found + export LD_LIBRARY_PATH="$PWD/lib" + export LDFLAGS="-L$PWD/lib" fi + + msg2 'Build qmake and configure' && ../${_pkgfqn}/configure $qt_configure_args + msg2 'Build Qt libraries' && make + popd done } @@ -341,20 +296,20 @@ package() { cd "$srcdir/${_pkgfqn}" make install -C ../build-${_arch} INSTALL_ROOT="${pkgdir}" - # Use prl files from build directory since installed prl files seem to have incorrect QMAKE_PRL_LIBS_FOR_CMAKE + # use prl files from build directory since installed prl files seem to have incorrect QMAKE_PRL_LIBS_FOR_CMAKE pushd "$srcdir/build-${_arch}/lib" - find -iname '*.static.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib" --parents {} + + find -iname '*.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib" --parents {} + popd pushd "$srcdir/build-${_arch}/plugins" - find -iname '*.static.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib/qt/plugins" --parents {} + + find -iname '*.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib/qt/plugins" --parents {} + popd if isStatic; then # The static release contains only the static libs itself but relies on the - # shared release for Qt5Bootstrap library and tools (qmake, uic, ...) + # shared release for Qt5Bootstrap library and tools (qmake, uic, ...). - # Drop Qt5Bootstrap and libraries which are only provided as static lib - # and are hence already present in shared build (such as Qt5OpenGLExtensions) + # drop Qt5Bootstrap and libraries which are only provided as static lib + # and hence already present in shared build (such as Qt5OpenGLExtensions) rm -f \ "${pkgdir}/usr/${_arch}/lib/"{lib,}qt5main* \ "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5AccessibilitySupport* \ @@ -367,9 +322,10 @@ package() { "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5ThemeSupport* \ "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5OpenGLExtensions* \ "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5PlatformSupport* \ + "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5WindowsUIAutomationSupport* \ "${pkgdir}/usr/${_arch}/lib/"libQt5Bootstrap* \ - # Also ensure config files don't conflict with shared version + # ensure config files don't conflict with shared version pushd "${pkgdir}/usr/${_arch}/lib/cmake" for cmake_dir in $(find . ! -path . -type d ! -name 'Static*'); do mkdir -p "./Static${cmake_dir:2}"; @@ -380,56 +336,59 @@ package() { popd rm "${pkgdir}/usr/${_arch}/lib/pkgconfig/StaticQt5OpenGLExtensions.pc" - # Create links to static plugins in lib directory + # create links to static plugins in lib directory pushd "${pkgdir}/usr/${_arch}/lib/" && ln -s "./qt/plugins/"*/*.a . && popd - # Keep a couple pri files not found in base + # keep a couple pri files not found in base mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}" - # Delete duplicate files that are in the base package + # delete duplicate files that are in the base package rm -fR "${pkgdir}/usr/${_arch}/"{include,share} rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs} - # Move pri files back + # move pri files back mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules" mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules" - else # Shared release - # The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient + else # shared version + # remove DLLs from libdir (DLLs are installed in both bindir and libdir, one copy is sufficient) find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \; - # The Qt5OpenGLExtensions module is only available as static library and hence part of the - # shared build - - # Create symlinks for tools + # create symlinks for tools mkdir -p "${pkgdir}/usr/bin" for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt.pl; do ln -s "../${_arch}/lib/qt/bin/${tool}" "${pkgdir}/usr/bin/${_arch}-${tool}-qt5" done fi - # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + # drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/usr/${_arch}/lib" -type f -name '*.prl' -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; - # Remove doc + # remove doc rm -rf "${pkgdir}/usr/${_arch}/share/doc" - # Strip the binaries + # remove prl files for debug version + if ! [[ $MINGW_W64_QT_DEBUG_BUILD ]]; then + for file in $(find "${pkgdir}/usr/${_arch}" -name '*d.prl' -o -name '*d.static.prl'); do + [ -f "${file%d*}${file##*d}" ] && rm "${file}"; + done + fi + + # replace library path in *.prl files so it points to the installed location and not the build directory + find "${pkgdir}/usr/${_arch}/lib" \( -type f -name '*.prl' -o -name '*.pc' \) -exec sed -i -e "s:${PWD%/*}/build-${_arch}/lib:/usr/${_arch}/lib:g" {} \; + + # strip binaries, remove unuseful files if ! isStatic; then strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*[!.pl] strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver} fi - - # Applications might be useful as well; keeping them by default will not hurt anybody I suppose if isStatic || [[ $NO_EXECUTABLES ]]; then - find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; + find "${pkgdir}/usr/${_arch}" -name '*.exe' -delete else - find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \; + find "${pkgdir}/usr/${_arch}" -name '*.exe' -exec ${_arch}-strip --strip-all {} \; fi - # No use for these files though - find "${pkgdir}/usr/${_arch}" \( -name "*.bat" -o -name "*.def" -o -name "*.exp" \) -exec rm {} \; - # Strip binaries - find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \; - find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \; + find "${pkgdir}/usr/${_arch}" \( -name '*.bat' -o -name '*.def' -o -name '*.exp' \) -delete + find "${pkgdir}/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \; + find "${pkgdir}/usr/${_arch}" \( -name '*.a' -not -name 'libQt5QmlDevTools.a' -not -name 'libQt5Bootstrap.a' \) -exec ${_arch}-strip -g {} \; done } diff --git a/README.md b/README.md new file mode 100644 index 000000000000..3233d55ba5d0 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +# README for Qt 5 mingw-w64 packages +## Development, building, issues +* All PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where you also find the URL of a binary repository. +* Issues are tracks there as well. +* All patches are managed at https://github.com/Martchus/qtbase, https://github.com/Martchus/qttools, ... + +### Build order +Qt packages can be built in the following order (for example): +``` +qt5-base qt5-base-static qt5-svg qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-imageformats qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-graphicaleffects qt5-gamepad qt5-scxml qt5-datavis3d qt5-virtualkeyboard qt5-activeqt qt5-speech qt5-remoteobjects qt5-networkauth qt5-webkit +``` + +### Executables +By default, executables will be present in the package because I find them useful for testing. To remove executables, +set NO_EXECUTABLES (or NO_STATIC_EXECUTABLES to remove statically linked executables only) when building the package. +If Qt modules containing tools are built as static and as dynamic library only the dynamically linked tools will be present +in the package. + +## Variants +There are different variants of the package which can be selected by simply adjusting pkgname: + +| Package name | Customization | +| ----------------------------------------------- | -----------------------------------------------------------------------| +| mingw-w64-qt5-base or mingw-w64-qt5-base-opengl | using native OpenGL | +| mingw-w64-qt5-base-angle | using ANGLE rather than native OpenGL | +| mingw-w64-qt5-base-dynamic | allows choosing between ANGLE and native OpenGL dynamically at runtime | +| mingw-w64-qt5-base-noopenql | no OpenGL support | + +* The variants are conflicting (and hence can not be installed at the same time). +* See also: http://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers + +## Static libraries +The variants listed above only contain dynamic libraries. For building static libraries +just append `-static` to the package name, eg. `mingw-w64-qt5-base-static` or `mingw-w64-qt5-base-angle-static`. + +The static variants rely on the corresponding dynamic variant for headers and tools. +I only tested the static variant using native OpenGL so far (`mingw-w64-qt5-base-static`). +Note that ANGLE will still be loaded as dynamic library in `mingw-w64-qt5-base-dynamic-static`. + +Further Qt modules (those not found in the base repository) include by default static and dynamic libraries; if only one +version is requried, just set `NO_STATIC_LIBS` or `NO_SHARED_LIBS` when building the package, eg. by adding `NO_STATIC_LIBS=1` +to `/etc/makepkg.conf`. + +### Using static libraries +By default, CMake and qmake will link against the dynamic Qt libraries. + +#### CMake +To use the static Qt libraries with CMake prepend the Qt module name with Static, eg.: +``` +find_package(Qt5Core) becomes find_package(StaticQt5Core) +``` + +To use a static module, add the corresponding imported target, eg.: +``` +target_link_libraries(target ... StaticQt5::Core) +``` + +This approach allows installing dynamic and static Qt in the same prefix +and using both variants in the same CMake project. + +To use a static plugin, add the corresponding imported target, eg.: +``` +target_link_libraries(target ... StaticQt5::QWindowsIntegrationPlugin) +``` + +Automatically importing static plugins is currently not possible, though. +Hence it is required to use Q_IMPORT_PLUGIN, eg.: +``` +#include<QtPlugin> +Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) +``` + +It is also possible to use static Qt libraries with CMake by setting the +variable `USE_STATIC_QT_BY_DEFAULT`: `set(USE_STATIC_QT_BY_DEFAULT ON)` + +In this case the regular imported targets (eg. `Qt5::Core`) will be static. +This approach does *not* allow to use dynamic and static Qt in the same +CMake project. + +#### qmake +To use the static Qt libraries with qmake add 'static' to the project config (either inside the *.pro file or as qmake argument): +``` +CONFIG+=static +``` + +Currently qmake is messing with linker flags for cyclic dependencies and static MariaDB is unavailable due to clashing symbols. +To workaround these issues, use the following arguments: +``` +CONFIG+=no_smart_library_merge QTPLUGIN.sqldrivers=qsqlite QTPLUGIN.sqldrivers+=qsqlpsql QTPLUGIN.sqldrivers+=qsqlodbc +```
\ No newline at end of file |