Update mingw-w64-qt5-base-* packages

* Improve documentation
* Switch back to patching win32-g++ rather than
  adding own mkspec to fix
    * https://github.com/Martchus/PKGBUILDs/issues/59
    * https://github.com/Martchus/PKGBUILDs/issues/60
* Not tested yet
This commit is contained in:
Martchus 2018-03-17 17:08:22 +01:00
parent 3bd6593032
commit b026866d2f
141 changed files with 1395 additions and 1851 deletions

View File

@ -9,7 +9,7 @@ shopt -s nullglob
if ! [[ $1 ]]; then
echo 'No Qt repo specified - must be specified like eg. base or multimedia.'
echo "Usage: $0 repo [variant=mingw-w64]"
echo "Usage: $0 repo [branch=\$pkgver-\$variant] [variant=mingw-w64]"
exit -1
fi
@ -28,7 +28,8 @@ fi
pkg="qt5-$1"
repo="qt$1"
variant="${2:-mingw-w64}"
branch="${2}"
variant="${3:-mingw-w64}"
# find dest dir
for dir in "${pkgbuildsdirs[@]}"; do
@ -67,7 +68,10 @@ done
pushd "$wd" > /dev/null
git status # do some Git stuff just to check whether it is a Git repo
if ! git checkout "${pkgver}-${variant}"; then
if ! [[ $branch ]]; then
branch="${pkgver}-${variant}"
fi
if ! git checkout "${branch}"; then
echo "No patches required for $1, skipping."
exit 0
fi

View File

@ -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

View File

@ -0,0 +1,143 @@
From ef02a56ff99e9c2352d1395b8deada3c3078887f 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] 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/win32-g++/qmake.conf | 56 +++++++++++++++++++++++++++++---------------
1 file changed, 37 insertions(+), 19 deletions(-)
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 9f366e08b8..848837e732 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -1,11 +1,13 @@
#
-# qmake configuration for win32-g++
+# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++
#
-# Written for MinGW-w64 / gcc 5.3 or higher
+# Written for cross compilation with mingw-w64 under GNU/Linux
#
# Cross compile example for i686-w64-mingw32-g++:
-# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
+# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
#
+# 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(../common/gcc-base.conf)
@@ -14,12 +16,11 @@ include(../common/angle.conf)
include(../common/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
# 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.
@@ -29,7 +30,7 @@ QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = bison -y
QMAKE_YACCFLAGS = -d
-QMAKE_CFLAGS += -fno-keep-inline-dllexport
+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_WARN_ON += -Wextra
QMAKE_CFLAGS_SSE2 += -mstackrealign
@@ -40,6 +41,7 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
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 =
@@ -50,40 +52,56 @@ 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_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
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
+PKG_CONFIG = $${CROSS_COMPILE}pkg-config
+QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config
+
load(qt_config)
--
2.16.2

View File

@ -1,4 +1,4 @@
From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001
From f499d198b99ae5338ab85f7b65bf3dbcf9fba263 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
@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
#include <stdio.h>
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001
From f8025a3fcae7623f8e54299e0842ca45a71fb28d 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
@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644
SUBDIRS += src_3rdparty_libpng
src_3rdparty_freetype.depends += src_3rdparty_libpng
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001
From da616cd666c43e0189c1998ba827e5da9c189b04 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
@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644
HEADERS += opengl/qopengl.h \
opengl/qopengl_p.h \
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001
From 855124059e1ce75c1815a16056bfc7e91705ff93 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
@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001
From 615d341714c83d659008f714ca079f9df992001c 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
@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644
if (project->isActiveConfig("dll")) {
QString destDir = "";
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001
From 70e8d38009cc5321680ef727ac160316e20161a6 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
@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
if(!subdir.isEmpty()) {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001
From 3ee91c980962788177b41fb49eed40bf74ccf745 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
@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644
"use": [
{ "lib": "zlib", "condition": "features.system-zlib" }
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001
From b136f177a24e438a2069c4f9c1d9b3a05db17b5c 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
@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644
# include <dbus/dbus.h>
#else
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001
From 4376a9888da599de6eaa14d1dcf83a0fe41193aa 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
@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644
},
"condition": "config.win32 && features.shared"
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001
From f622ed99d6d99283d7405cb0a96757c9e4922558 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
@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644
},
"fontconfig": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001
From 9a75cec77d9dfff3d283258b9b323819b9f820ca 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
@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644
},
"imf": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001
From a9af38f04a32f596a168e066cb6d32f82a7154b4 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
@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644
#include <pcre2.h>
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001
From 3696e3f38362a701f0f59d3de35c7e0d0cb882ce 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001
From 0135efd090f0aa0402443a948f7de49adb837125 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
@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644
]
},
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001
From d659c5369bd8059643edd4674d21e5b575c95b8e 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
@ -7,8 +7,9 @@ Prevents conflict with mingw-w64-qt4 package
---
mkspecs/features/create_cmake.prf | 4 ++--
mkspecs/features/win32/windows.prf | 2 +-
mkspecs/win32-g++/qmake.conf | 2 +-
src/winmain/winmain.pro | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index bb5083c925..146e83ae67 100644
@ -38,6 +39,19 @@ index ecb167bf18..7c9368c3b3 100644
!contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
QMAKE_LIBS += -L$$QT.core.libs
CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 848837e732..ad924a7c2a 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -88,7 +88,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/src/winmain/winmain.pro b/src/winmain/winmain.pro
index 4140ae48de..9ae73db74b 100644
--- a/src/winmain/winmain.pro
@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644
CONFIG += static
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001
From 64298314d16b0d4f60a868dff2c379af982b821d 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
@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644
-INSTALLS = lib
+INSTALLS += lib
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001
From 293c66efcd36c6ca5850d91847f0030c182aa336 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
@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644
INSTALLS += target
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001
From 3351283ce62c1d728d245657aa9a81d5e8c43def 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
@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644
} else {
CONFIG += no_core_dep
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001
From 380f8da75e9bfac1a2542d1ddd61949fb58022d3 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001
From 4c3092a30e8981125414d71fa481436ea4f917f5 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
@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644
t << endl;
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001
From 9913c74ba93c506abaa5f13e02ac29e6cd82783d 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
@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644
}
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001
From 3955f9513c3c34351462b7c868da8b0650043393 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
@ -997,5 +997,5 @@ index 2a575958ae..ca0e3be3b5 100644
INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\"
)
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001
From 716349466294e9809c92303becf2fede7745f9fd 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
@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644
+unset(_isExe)
+!!ENDIF
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001
From 64df7c1f38cab38957670a7070260fedde236990 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001
From b0cbcf49f288bc4e87c055b757505f745423c686 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001
From 43051c0832825089e058715e126baefa9071bc2d 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
@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644
+ !equals($$1, "static"): error("Could not find feature $${1}.")
}
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001
From 64a634598092a7cbeca267f3dc0860a3105ed329 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
@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644
},
"icu": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001
From 9d139e94af7e18e965732684864d75ac1ee015f2 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
@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644
"publicFeature",
{ "type": "publicQtConfig", "negative": true },
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001
From d360972109bd354d675499efc4e00ee9ed8da3c9 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001
From 28f289f8b87da3bd244f8c63ead918f0922a4358 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
@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644
include(windows.pri)
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001
From 27d8e6e51cefad3de5e863f1217fd2bcc0b28f30 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
@ -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.16.2

View File

@ -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' ]]
@ -85,7 +37,7 @@ isNoOpenGL() {
pkgname=mingw-w64-qt5-base-angle
pkgver=5.10.1
pkgrel=1
pkgrel=2
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
isStatic && arch=('any') || arch=('i686' 'x86_64')
@ -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'
@ -133,38 +85,38 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm
'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')
'1c482310bbfef78733a2013f42e505657059e720cf139ddcf5ad692c4dbf06b1'
'45a1020a351931b7171e55ef8165d2cc4af3bf2473b142daa51f3b5b15c447f3'
'ceb05dabed9fa2fc781e5abcfb54285960267922bac753df4179831a240da9b7'
'c4138094696342f8f976c01c9ce66919ae38802f36d3280b47883446e8d74bf9'
'2f99ae05056636b434bf7a533db6de7561c6f6e3fe8e854b4e9a182e30c684b3'
'fa69c484d557f45b1929e0b4be6328837717337155477a8fab3f9ea59731c749'
'57de459c6af72293560afcf7a872b1a4b10badd986c1fc1b43d7aaf55caf52c5'
'58e6f6a0271e82be5b7560a247cb70809169148e6413c473e2c3fed97e5d1c45'
'ea39d2b90a848a4c36a7685688283b773ff2ed5e6912be52a943f31376eefc81'
'b8f5a6a707f20cce64d9e5f04c35c555d7d14cd20344510205babc9a5698a15a'
'b1eaea87c7d7b774657feb4745450ab4e423c158ff81c144d724dcd8ac950c6f'
'8092fe23e35906b9a967ec78e1892769f06f1699c4c177ea0814876fb7c423d2'
'4b73f19e254466e5e4d13459088f773a44c9f05033ad5d29995c5116f18f999d'
'6a1411e406efab5521af71b2b8cf122c8443157114799f23d3e2cd1dc59c8e14'
'52b0fc09f05d1ca2efbf3a046cf933e72dae4bfd63026298fd60360103106c5a'
'30b5bded4f2e3ac5e4c83412c92afe0ad604e3eb18a94a3357f220b5e0456d86'
'1a18636d6089fe49ae7e0592dad6d71a1466aa0fc2d033ca926c14e468aff0c9'
'9710090523aefca66211bd8b74bcdc650125299912b735ba4845408e9e860649'
'551f05ad17737fe8b9b00c24a3a5539988455cbb706458e44c3df2df56599f63'
'd2f5aaacd2be586cfab27a23120a9f21749c1ac96664071c399f91097274ec89'
'23878d79148e4db9e1c5ba2e6e6d2ced259b64aa1ba2f1503ab9938863b2104f'
'30f5b6c738609a8ac03f806b86a632c3cf6d85b56e038f812d46358b592cc427'
'2782b7eb4f55cb5905b5bcb8387ad3a7130727b036b0fc482b1294380862f5d1'
'156e720e4ad44f257019dbe2fe1eef7b7a27989307f8a9f53072f4cbe178c655'
'53088ce6f9a22ee1735fb8b7145ce569ac1914ac05fb947ca3afae39d3cb3199'
'e61f2fd0c91c72822c1074844897641ce1c9500423b4c646aa8ae1671f9f967b'
'cccad985154167818657d0561ec349cb75931a0a64a689ab51041337d73a88b8'
'ffbc7f20785904ba64f108498aafe8b5a4c1de76c44aa5353ee3d7202f186408'
'1572c30c43e9e6d23d0f42c99c9501f092eae5d2bad2b0bc0eb694b295c0c473'
'ef96dffc0dd3bb76b237c6e886d6d5cc154e25f5ed4d5f65643e272a58306327'
'73d9df72df2f55c19ddeb9241de818d39c8da3399eee55f306889dc3c11dc934'
'892bb35a340597c77da5310685cc47102cf2522fb01cbc6d1785016babc78727')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

View File

@ -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
```

View File

@ -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

View File

@ -0,0 +1,143 @@
From ef02a56ff99e9c2352d1395b8deada3c3078887f 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] 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/win32-g++/qmake.conf | 56 +++++++++++++++++++++++++++++---------------
1 file changed, 37 insertions(+), 19 deletions(-)
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 9f366e08b8..848837e732 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -1,11 +1,13 @@
#
-# qmake configuration for win32-g++
+# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++
#
-# Written for MinGW-w64 / gcc 5.3 or higher
+# Written for cross compilation with mingw-w64 under GNU/Linux
#
# Cross compile example for i686-w64-mingw32-g++:
-# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
+# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
#
+# 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(../common/gcc-base.conf)
@@ -14,12 +16,11 @@ include(../common/angle.conf)
include(../common/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
# 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.
@@ -29,7 +30,7 @@ QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = bison -y
QMAKE_YACCFLAGS = -d
-QMAKE_CFLAGS += -fno-keep-inline-dllexport
+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_WARN_ON += -Wextra
QMAKE_CFLAGS_SSE2 += -mstackrealign
@@ -40,6 +41,7 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
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 =
@@ -50,40 +52,56 @@ 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_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
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
+PKG_CONFIG = $${CROSS_COMPILE}pkg-config
+QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config
+
load(qt_config)
--
2.16.2

View File

@ -1,4 +1,4 @@
From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001
From f499d198b99ae5338ab85f7b65bf3dbcf9fba263 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
@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
#include <stdio.h>
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001
From f8025a3fcae7623f8e54299e0842ca45a71fb28d 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
@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644
SUBDIRS += src_3rdparty_libpng
src_3rdparty_freetype.depends += src_3rdparty_libpng
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001
From da616cd666c43e0189c1998ba827e5da9c189b04 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
@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644
HEADERS += opengl/qopengl.h \
opengl/qopengl_p.h \
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001
From 855124059e1ce75c1815a16056bfc7e91705ff93 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
@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001
From 615d341714c83d659008f714ca079f9df992001c 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
@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644
if (project->isActiveConfig("dll")) {
QString destDir = "";
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001
From 70e8d38009cc5321680ef727ac160316e20161a6 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
@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
if(!subdir.isEmpty()) {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001
From 3ee91c980962788177b41fb49eed40bf74ccf745 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
@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644
"use": [
{ "lib": "zlib", "condition": "features.system-zlib" }
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001
From b136f177a24e438a2069c4f9c1d9b3a05db17b5c 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
@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644
# include <dbus/dbus.h>
#else
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001
From 4376a9888da599de6eaa14d1dcf83a0fe41193aa 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
@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644
},
"condition": "config.win32 && features.shared"
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001
From f622ed99d6d99283d7405cb0a96757c9e4922558 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
@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644
},
"fontconfig": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001
From 9a75cec77d9dfff3d283258b9b323819b9f820ca 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
@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644
},
"imf": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001
From a9af38f04a32f596a168e066cb6d32f82a7154b4 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
@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644
#include <pcre2.h>
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001
From 3696e3f38362a701f0f59d3de35c7e0d0cb882ce 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001
From 0135efd090f0aa0402443a948f7de49adb837125 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
@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644
]
},
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001
From d659c5369bd8059643edd4674d21e5b575c95b8e 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
@ -7,8 +7,9 @@ Prevents conflict with mingw-w64-qt4 package
---
mkspecs/features/create_cmake.prf | 4 ++--
mkspecs/features/win32/windows.prf | 2 +-
mkspecs/win32-g++/qmake.conf | 2 +-
src/winmain/winmain.pro | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index bb5083c925..146e83ae67 100644
@ -38,6 +39,19 @@ index ecb167bf18..7c9368c3b3 100644
!contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
QMAKE_LIBS += -L$$QT.core.libs
CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 848837e732..ad924a7c2a 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -88,7 +88,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/src/winmain/winmain.pro b/src/winmain/winmain.pro
index 4140ae48de..9ae73db74b 100644
--- a/src/winmain/winmain.pro
@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644
CONFIG += static
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001
From 64298314d16b0d4f60a868dff2c379af982b821d 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
@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644
-INSTALLS = lib
+INSTALLS += lib
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001
From 293c66efcd36c6ca5850d91847f0030c182aa336 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
@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644
INSTALLS += target
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001
From 3351283ce62c1d728d245657aa9a81d5e8c43def 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
@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644
} else {
CONFIG += no_core_dep
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001
From 380f8da75e9bfac1a2542d1ddd61949fb58022d3 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001
From 4c3092a30e8981125414d71fa481436ea4f917f5 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
@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644
t << endl;
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001
From 9913c74ba93c506abaa5f13e02ac29e6cd82783d 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
@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644
}
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001
From 3955f9513c3c34351462b7c868da8b0650043393 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
@ -997,5 +997,5 @@ index 2a575958ae..ca0e3be3b5 100644
INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\"
)
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001
From 716349466294e9809c92303becf2fede7745f9fd 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
@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644
+unset(_isExe)
+!!ENDIF
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001
From 64df7c1f38cab38957670a7070260fedde236990 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001
From b0cbcf49f288bc4e87c055b757505f745423c686 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001
From 43051c0832825089e058715e126baefa9071bc2d 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
@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644
+ !equals($$1, "static"): error("Could not find feature $${1}.")
}
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001
From 64a634598092a7cbeca267f3dc0860a3105ed329 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
@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644
},
"icu": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001
From 9d139e94af7e18e965732684864d75ac1ee015f2 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
@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644
"publicFeature",
{ "type": "publicQtConfig", "negative": true },
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001
From d360972109bd354d675499efc4e00ee9ed8da3c9 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001
From 28f289f8b87da3bd244f8c63ead918f0922a4358 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
@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644
include(windows.pri)
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001
From 27d8e6e51cefad3de5e863f1217fd2bcc0b28f30 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
@ -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.16.2

View File

@ -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' ]]
@ -85,7 +37,7 @@ isNoOpenGL() {
pkgname=mingw-w64-qt5-base-dynamic
pkgver=5.10.1
pkgrel=1
pkgrel=2
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
isStatic && arch=('any') || arch=('i686' 'x86_64')
@ -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'
@ -133,38 +85,38 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm
'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')
'1c482310bbfef78733a2013f42e505657059e720cf139ddcf5ad692c4dbf06b1'
'45a1020a351931b7171e55ef8165d2cc4af3bf2473b142daa51f3b5b15c447f3'
'ceb05dabed9fa2fc781e5abcfb54285960267922bac753df4179831a240da9b7'
'c4138094696342f8f976c01c9ce66919ae38802f36d3280b47883446e8d74bf9'
'2f99ae05056636b434bf7a533db6de7561c6f6e3fe8e854b4e9a182e30c684b3'
'fa69c484d557f45b1929e0b4be6328837717337155477a8fab3f9ea59731c749'
'57de459c6af72293560afcf7a872b1a4b10badd986c1fc1b43d7aaf55caf52c5'
'58e6f6a0271e82be5b7560a247cb70809169148e6413c473e2c3fed97e5d1c45'
'ea39d2b90a848a4c36a7685688283b773ff2ed5e6912be52a943f31376eefc81'
'b8f5a6a707f20cce64d9e5f04c35c555d7d14cd20344510205babc9a5698a15a'
'b1eaea87c7d7b774657feb4745450ab4e423c158ff81c144d724dcd8ac950c6f'
'8092fe23e35906b9a967ec78e1892769f06f1699c4c177ea0814876fb7c423d2'
'4b73f19e254466e5e4d13459088f773a44c9f05033ad5d29995c5116f18f999d'
'6a1411e406efab5521af71b2b8cf122c8443157114799f23d3e2cd1dc59c8e14'
'52b0fc09f05d1ca2efbf3a046cf933e72dae4bfd63026298fd60360103106c5a'
'30b5bded4f2e3ac5e4c83412c92afe0ad604e3eb18a94a3357f220b5e0456d86'
'1a18636d6089fe49ae7e0592dad6d71a1466aa0fc2d033ca926c14e468aff0c9'
'9710090523aefca66211bd8b74bcdc650125299912b735ba4845408e9e860649'
'551f05ad17737fe8b9b00c24a3a5539988455cbb706458e44c3df2df56599f63'
'd2f5aaacd2be586cfab27a23120a9f21749c1ac96664071c399f91097274ec89'
'23878d79148e4db9e1c5ba2e6e6d2ced259b64aa1ba2f1503ab9938863b2104f'
'30f5b6c738609a8ac03f806b86a632c3cf6d85b56e038f812d46358b592cc427'
'2782b7eb4f55cb5905b5bcb8387ad3a7130727b036b0fc482b1294380862f5d1'
'156e720e4ad44f257019dbe2fe1eef7b7a27989307f8a9f53072f4cbe178c655'
'53088ce6f9a22ee1735fb8b7145ce569ac1914ac05fb947ca3afae39d3cb3199'
'e61f2fd0c91c72822c1074844897641ce1c9500423b4c646aa8ae1671f9f967b'
'cccad985154167818657d0561ec349cb75931a0a64a689ab51041337d73a88b8'
'ffbc7f20785904ba64f108498aafe8b5a4c1de76c44aa5353ee3d7202f186408'
'1572c30c43e9e6d23d0f42c99c9501f092eae5d2bad2b0bc0eb694b295c0c473'
'ef96dffc0dd3bb76b237c6e886d6d5cc154e25f5ed4d5f65643e272a58306327'
'73d9df72df2f55c19ddeb9241de818d39c8da3399eee55f306889dc3c11dc934'
'892bb35a340597c77da5310685cc47102cf2522fb01cbc6d1785016babc78727')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

View File

@ -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
```

View File

@ -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

View File

@ -0,0 +1,143 @@
From ef02a56ff99e9c2352d1395b8deada3c3078887f 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] 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/win32-g++/qmake.conf | 56 +++++++++++++++++++++++++++++---------------
1 file changed, 37 insertions(+), 19 deletions(-)
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 9f366e08b8..848837e732 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -1,11 +1,13 @@
#
-# qmake configuration for win32-g++
+# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++
#
-# Written for MinGW-w64 / gcc 5.3 or higher
+# Written for cross compilation with mingw-w64 under GNU/Linux
#
# Cross compile example for i686-w64-mingw32-g++:
-# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
+# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
#
+# 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(../common/gcc-base.conf)
@@ -14,12 +16,11 @@ include(../common/angle.conf)
include(../common/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
# 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.
@@ -29,7 +30,7 @@ QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = bison -y
QMAKE_YACCFLAGS = -d
-QMAKE_CFLAGS += -fno-keep-inline-dllexport
+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_WARN_ON += -Wextra
QMAKE_CFLAGS_SSE2 += -mstackrealign
@@ -40,6 +41,7 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
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 =
@@ -50,40 +52,56 @@ 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_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
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
+PKG_CONFIG = $${CROSS_COMPILE}pkg-config
+QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config
+
load(qt_config)
--
2.16.2

View File

@ -1,4 +1,4 @@
From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001
From f499d198b99ae5338ab85f7b65bf3dbcf9fba263 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
@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
#include <stdio.h>
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001
From f8025a3fcae7623f8e54299e0842ca45a71fb28d 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
@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644
SUBDIRS += src_3rdparty_libpng
src_3rdparty_freetype.depends += src_3rdparty_libpng
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001
From da616cd666c43e0189c1998ba827e5da9c189b04 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
@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644
HEADERS += opengl/qopengl.h \
opengl/qopengl_p.h \
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001
From 855124059e1ce75c1815a16056bfc7e91705ff93 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
@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001
From 615d341714c83d659008f714ca079f9df992001c 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
@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644
if (project->isActiveConfig("dll")) {
QString destDir = "";
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001
From 70e8d38009cc5321680ef727ac160316e20161a6 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
@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
if(!subdir.isEmpty()) {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001
From 3ee91c980962788177b41fb49eed40bf74ccf745 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
@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644
"use": [
{ "lib": "zlib", "condition": "features.system-zlib" }
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001
From b136f177a24e438a2069c4f9c1d9b3a05db17b5c 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
@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644
# include <dbus/dbus.h>
#else
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001
From 4376a9888da599de6eaa14d1dcf83a0fe41193aa 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
@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644
},
"condition": "config.win32 && features.shared"
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001
From f622ed99d6d99283d7405cb0a96757c9e4922558 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
@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644
},
"fontconfig": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001
From 9a75cec77d9dfff3d283258b9b323819b9f820ca 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
@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644
},
"imf": {
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001
From a9af38f04a32f596a168e066cb6d32f82a7154b4 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
@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644
#include <pcre2.h>
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001
From 3696e3f38362a701f0f59d3de35c7e0d0cb882ce 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001
From 0135efd090f0aa0402443a948f7de49adb837125 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
@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644
]
},
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001
From d659c5369bd8059643edd4674d21e5b575c95b8e 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
@ -7,8 +7,9 @@ Prevents conflict with mingw-w64-qt4 package
---
mkspecs/features/create_cmake.prf | 4 ++--
mkspecs/features/win32/windows.prf | 2 +-
mkspecs/win32-g++/qmake.conf | 2 +-
src/winmain/winmain.pro | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index bb5083c925..146e83ae67 100644
@ -38,6 +39,19 @@ index ecb167bf18..7c9368c3b3 100644
!contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
QMAKE_LIBS += -L$$QT.core.libs
CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 848837e732..ad924a7c2a 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -88,7 +88,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/src/winmain/winmain.pro b/src/winmain/winmain.pro
index 4140ae48de..9ae73db74b 100644
--- a/src/winmain/winmain.pro
@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644
CONFIG += static
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001
From 64298314d16b0d4f60a868dff2c379af982b821d 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
@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644
-INSTALLS = lib
+INSTALLS += lib
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001
From 293c66efcd36c6ca5850d91847f0030c182aa336 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
@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644
INSTALLS += target
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001
From 3351283ce62c1d728d245657aa9a81d5e8c43def 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
@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644
} else {
CONFIG += no_core_dep
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001
From 380f8da75e9bfac1a2542d1ddd61949fb58022d3 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001
From 4c3092a30e8981125414d71fa481436ea4f917f5 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
@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644
t << endl;
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001
From 9913c74ba93c506abaa5f13e02ac29e6cd82783d 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
@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644
}
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001
From 3955f9513c3c34351462b7c868da8b0650043393 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
@ -997,5 +997,5 @@ index 2a575958ae..ca0e3be3b5 100644
INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\"
)
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001
From 716349466294e9809c92303becf2fede7745f9fd 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
@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644
+unset(_isExe)
+!!ENDIF
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001
From 64df7c1f38cab38957670a7070260fedde236990 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001
From b0cbcf49f288bc4e87c055b757505f745423c686 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
@ -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.16.2

View File

@ -1,4 +1,4 @@
From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001
From 43051c0832825089e058715e126baefa9071bc2d 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
@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644
+ !equals($$1, "static"): error("Could not find feature $${1}.")
}
--
2.16.1
2.16.2

View File

@ -1,4 +1,4 @@
From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001
From 64a634598092a7cbeca267f3dc0860a3105ed329 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
@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644
},
"icu": {
--
2.16.1
2.16.2

Some files were not shown because too many files have changed in this diff Show More