This file is part of MXE.
See index.html for further information.
From 2a005d22af074aff326d57b25e1cea1abda8ee6e Mon Sep 17 00:00:00 2001
From: Mark Brand
Date: Thu, 6 Aug 2015 23:35:08 +0200
Subject: [PATCH 1/7] fix qwindows plugin linking with system-freetype (MXE
specific)
Change-Id: I8783e3ab2d19011b083dd3c471107298a17293c4
diff --git a/src/3rdparty/freetype_dependency.pri b/src/3rdparty/freetype_dependency.pri
index 39280de..e152b0d 100644
--- a/src/3rdparty/freetype_dependency.pri
+++ b/src/3rdparty/freetype_dependency.pri
@@ -4,4 +4,5 @@ contains(QT_CONFIG, freetype) {
} else:contains(QT_CONFIG, system-freetype) {
# pull in the proper freetype2 include directory
include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
+ win32:shared:LIBS_PRIVATE += -lfreetype
}
--
2.1.4
From 2baad6771338e3c2361f515a4ba6bf0f26812a6b Mon Sep 17 00:00:00 2001
From: Mark Brand
Date: Sat, 21 Jun 2014 13:12:49 +0200
Subject: [PATCH 2/7] use pkg-config for harfbuzz (MXE specific)
Change-Id: Id4e4c37d68b63c9f480d72a561d95d4d2a5ded50
diff --git a/config.tests/unix/harfbuzz/harfbuzz.pro b/config.tests/unix/harfbuzz/harfbuzz.pro
index 32edd6e..a7f2c28 100644
--- a/config.tests/unix/harfbuzz/harfbuzz.pro
+++ b/config.tests/unix/harfbuzz/harfbuzz.pro
@@ -1,3 +1,4 @@
SOURCES = harfbuzz.cpp
CONFIG -= qt dylib
-LIBS += -lharfbuzz
+CONFIG += link_pkgconfig
+PKGCONFIG += harfbuzz
diff --git a/src/3rdparty/harfbuzz_dependency.pri b/src/3rdparty/harfbuzz_dependency.pri
index 7443368..c24e684 100644
--- a/src/3rdparty/harfbuzz_dependency.pri
+++ b/src/3rdparty/harfbuzz_dependency.pri
@@ -2,5 +2,6 @@ contains(QT_CONFIG, harfbuzz) {
INCLUDEPATH += $$PWD/harfbuzz-ng/include
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtharfbuzzng$$qtPlatformTargetSuffix()
} else:contains(QT_CONFIG, system-harfbuzz) {
- LIBS_PRIVATE += -lharfbuzz
+ CONFIG += link_pkgconfig
+ PKGCONFIG += harfbuzz
}
--
2.1.4
From c526e9fc734f91d5174399ab539b75dd3de3f8a4 Mon Sep 17 00:00:00 2001
From: Mark Brand
Date: Mon, 8 Dec 2014 14:15:12 +0100
Subject: [PATCH 3/7] fix oci config test on windows
Change-Id: If1ce2241682259ca495b0ba68bf18410f8548922
diff --git a/config.tests/unix/oci/oci.pro b/config.tests/unix/oci/oci.pro
index 3ffda1d..39b6f3759 100644
--- a/config.tests/unix/oci/oci.pro
+++ b/config.tests/unix/oci/oci.pro
@@ -1,3 +1,3 @@
SOURCES = oci.cpp
CONFIG -= qt dylib
-LIBS += -lclntsh
+!win32:LIBS += -lclntsh
--
2.1.4
From 35759dbe5a613f9006190cd135cc8ec994cf71e5 Mon Sep 17 00:00:00 2001
From: Mark Brand
Date: Thu, 6 Aug 2015 13:24:56 +0200
Subject: [PATCH 4/7] configure: don't set QT_NO_SYSTEMSEMAPHORE for Windows
Change-Id: I53c110ef40e3d14cc49fa23aa5d294611cac2ffa
diff --git a/configure b/configure
index 8a4c89e..eb432b5 100755
--- a/configure
+++ b/configure
@@ -4451,7 +4451,7 @@ fi
[ "$XPLATFORM_ANDROID" = "yes" ] && QMakeVar add styles "android"
# check IPC support
-if ! compileTest unix/ipc_sysv "ipc_sysv" ; then
+if [ "$XPLATFORM_MINGW" = "no" ] && ! compileTest unix/ipc_sysv "ipc_sysv" ; then
# SYSV IPC is not supported - check POSIX IPC
if compileTest unix/ipc_posix "ipc_posix" ; then
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_POSIX_IPC"
--
2.1.4
From 68f2921bf86ed75488f913458087ef4db571e05d Mon Sep 17 00:00:00 2001
From: Mark Brand
Date: Tue, 6 Oct 2015 09:53:20 +0200
Subject: [PATCH 5/7] fix building mysql driver under mingw
Change-Id: I9c4e821d5b3a6919566c6b684cb4916827feb6a9
diff --git a/src/sql/drivers/mysql/qsql_mysql.pri b/src/sql/drivers/mysql/qsql_mysql.pri
index 3cfb614..8b7063f 100644
--- a/src/sql/drivers/mysql/qsql_mysql.pri
+++ b/src/sql/drivers/mysql/qsql_mysql.pri
@@ -4,7 +4,7 @@ SOURCES += $$PWD/qsql_mysql.cpp
QMAKE_CXXFLAGS *= $$QT_CFLAGS_MYSQL
LIBS += $$QT_LFLAGS_MYSQL
-unix {
+if (unix|mingw) {
isEmpty(QT_LFLAGS_MYSQL) {
!contains(LIBS, .*mysqlclient.*):!contains(LIBS, .*mysqld.*) {
use_libmysqlclient_r:LIBS += -lmysqlclient_r
--
2.1.4
From 5ee9b60bef32eb8ee8a889f0349c1307750f95c6 Mon Sep 17 00:00:00 2001
From: Tony Theodore
Date: Thu, 8 Oct 2015 17:15:46 +1100
Subject: [PATCH 6/7] Fix build with clang 3.7
_Nullable is a language extension in clang 3.7 (indicating whether or
not a pointer can be null).
http://clang.llvm.org/docs/AttributeReference.html#nullable
Using it as a class name breaks building with this compiler
Taken from: https://codereview.qt-project.org/#/c/121545/2//ALL,unified
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
index 3d0d5de..3d780cd 100644
--- a/src/tools/qlalr/lalr.cpp
+++ b/src/tools/qlalr/lalr.cpp
@@ -238,11 +238,11 @@ void Grammar::buildExtendedGrammar ()
non_terminals.insert (accept_symbol);
}
-struct _Nullable: public std::unary_function
+struct Nullable: public std::unary_function
{
Automaton *_M_automaton;
- _Nullable (Automaton *aut):
+ Nullable (Automaton *aut):
_M_automaton (aut) {}
bool operator () (Name name) const
@@ -300,7 +300,7 @@ void Automaton::buildNullables ()
for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule)
{
- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this)));
+ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (Nullable (this)));
if (nn == rule->rhs.end ())
changed |= nullables.insert (rule->lhs).second;
@@ -635,7 +635,7 @@ void Automaton::buildIncludesDigraph ()
if (! _M_grammar->isNonTerminal (*A))
continue;
- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this)));
+ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (Nullable (this)));
if (first_not_nullable != rule->rhs.end ())
continue;
--
2.1.4
From a1420344bacb6ea88139300c3e17231c395e5921 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen
Date: Fri, 24 Jul 2015 13:18:29 +0200
Subject: [PATCH 7/7] fix build with no built-in image handlers
the handlers' .pri files added $$PWD to INCLUDEPATH to make the files
self-contained when used externally, but this polluted the include path
of the gui module itself, thus hiding incorrect use of QPA includes.
Task-number: QTBUG-47400
Change-Id: I576469a71e8ded0b409d62687999c0fa884613f9
diff --git a/src/gui/image/qgifhandler.pri b/src/gui/image/qgifhandler.pri
index 6eb0751..ec33101 100644
--- a/src/gui/image/qgifhandler.pri
+++ b/src/gui/image/qgifhandler.pri
@@ -1,4 +1,3 @@
# common to plugin and built-in forms
-INCLUDEPATH *= $$PWD
HEADERS += $$PWD/qgifhandler_p.h
SOURCES += $$PWD/qgifhandler.cpp
diff --git a/src/gui/image/qjpeghandler.pri b/src/gui/image/qjpeghandler.pri
index c8de33d..de40c67 100644
--- a/src/gui/image/qjpeghandler.pri
+++ b/src/gui/image/qjpeghandler.pri
@@ -1,5 +1,4 @@
# common to plugin and built-in forms
-INCLUDEPATH *= $$PWD
HEADERS += $$PWD/qjpeghandler_p.h
SOURCES += $$PWD/qjpeghandler.cpp
contains(QT_CONFIG, system-jpeg) {
diff --git a/src/gui/image/qpnghandler.pri b/src/gui/image/qpnghandler.pri
index aca7e2c..9ab175d 100644
--- a/src/gui/image/qpnghandler.pri
+++ b/src/gui/image/qpnghandler.pri
@@ -1,4 +1,3 @@
-INCLUDEPATH *= $$PWD
HEADERS += $$PWD/qpnghandler_p.h
SOURCES += $$PWD/qpnghandler.cpp
contains(QT_CONFIG, system-png) {
diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp
index 670717c..c3a0f5c 100644
--- a/src/gui/painting/qbrush.cpp
+++ b/src/gui/painting/qbrush.cpp
@@ -35,7 +35,7 @@
#include "qpixmap.h"
#include "qbitmap.h"
#include "qpixmapcache.h"
-#include "qplatformpixmap.h"
+#include
#include "qdatastream.h"
#include "qvariant.h"
#include "qline.h"
diff --git a/src/plugins/imageformats/gif/gif.pro b/src/plugins/imageformats/gif/gif.pro
index 898f06e..2a5048b 100644
--- a/src/plugins/imageformats/gif/gif.pro
+++ b/src/plugins/imageformats/gif/gif.pro
@@ -5,6 +5,7 @@ PLUGIN_CLASS_NAME = QGifPlugin
load(qt_plugin)
include(../../../gui/image/qgifhandler.pri)
+INCLUDEPATH += ../../../gui/image
SOURCES += $$PWD/main.cpp
HEADERS += $$PWD/main.h
OTHER_FILES += gif.json
diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
index 45bf7bb..e33fde1 100644
--- a/src/plugins/imageformats/jpeg/jpeg.pro
+++ b/src/plugins/imageformats/jpeg/jpeg.pro
@@ -9,6 +9,7 @@ QT += core-private
QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-jpeg)"
include(../../../gui/image/qjpeghandler.pri)
+INCLUDEPATH += ../../../gui/image
SOURCES += main.cpp
HEADERS += main.h
OTHER_FILES += jpeg.json
--
2.1.4