updated patches for mingw-w64-qt5-base*

This commit is contained in:
Martchus 2016-03-24 15:24:03 +01:00
parent 0dcce4f7b3
commit 679ccdb1ff
48 changed files with 552 additions and 6157 deletions

View File

@ -6,7 +6,7 @@
pkgname=mingw-w64-qt5-base-opengl
pkgver=5.6.0
pkgrel=1
pkgdesc="A cross-platform application and UI framework (mingw-w64)"
pkgdesc="A cross-platform application and UI framework (mingw-w64, OpenGL)"
arch=(i686 x86_64)
url="https://www.qt.io/"
license=("custom, FDL, GPL3, LGPL")
@ -36,7 +36,6 @@ makedepends=(mingw-w64-gcc
options=(!strip !buildflags staticlibs)
_pkgfqn="qtbase-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
"qt5-merge-static-and-shared-library-trees.patch"
"add-angle-support.patch"
"use-external-angle-library.patch"
"qt5-workaround-pkgconfig-install-issue.patch"
@ -46,37 +45,32 @@ source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/sub
"qt5-enable-rpath-for-host-tools.patch"
"qt5-dont-add-resource-files-to-qmake-libs.patch"
"qt5-prevent-debug-library-names-in-pkgconfig-files.patch"
"qt5-qmake-implib-dll-a.patch"
"qt5-fix-static-dbus-detection.patch"
"qt5-fix-static-harfbuzz-detection.patch"
"qt5-use-win32-g++-mkspecs-profile.patch"
"qt5-use-system-zlib-in-host-libs.patch"
"fix-opengl-to-many-sections.patch"
"fix-static-psql-mysql.patch"
"qt5-disable-angle-opengl-testcode.patch"
"qt5-fix-QSemaphore-problem.patch"
"a91c40868bbdc1b2d2dd3b5f8b47aae9e8589a81.diff")
"qtbase-1-fixes.patch")
md5sums=('d6b6cfd333c22829c6c85fc52ceed019'
'f51eb2b176b10af943831d33925c1251'
'bab00ccc19d888997f323c80354a7c3f'
'ec25d1ff4033383cd5d2414d8189c228'
'9916ded318f21afbe8388f0b9822062b'
'bc99c4cc6998295d76f37ed681c20d47'
'4fe6523dd1c34398df3aa5a8763530cc'
'c4d4ca54a2e9096d2af13a266177f6d6'
'22be0aa7fc36c5d08b3b41f0eccf7479'
'3bd322551924543553a2bf81b4419a09'
'15e8eaa4f0a9a9990277c79e243770be'
'30fa9ddf8d842b1392e8d63868940657'
'99bb9f51ec684803768f36e407baf486'
'6a6bc88f35ac8080869de39bc128ce5b'
'e793479e0b86b39ddafd328140f1a24c'
'40de3aaf7d713034e06f4eece665b1ba'
'4149c27286f110e37893d1764d4c8a68'
'39cdea1b39a1d993df6d01a576e8116f'
'd0c7198115ff028188ed1759b70fd981'
'a265dea62755caf38187114143999224'
'612a4dfb9f1a3898a1920c28bb999159'
'd0eb81aef1a21c65813fe4ddabbc4206'
'0076233a43e7edaaaf8c2abca2ada8df'
'87cbd116c75ced1b075bf266f2455d50'
'1bc70e7e3ea6a0178891d984f0451b3c')
'62d2977e57fccf1f16d7ea6bf06d3279')
_architectures="x86_64-w64-mingw32 i686-w64-mingw32"
# Helper functions for the split builds
@ -96,11 +90,8 @@ isOpenGL && conflicts+=("mingw-w64-qt5-base")
prepare() {
cd "${srcdir}/${_pkgfqn}"
# When building Qt as static library some files have a different content
# when compared to the static library. Merge those changes manually.
# This patch also applies some additional changes which are required to make
# linking against the static version of Qt work without any manual fiddling
patch -p0 -i ../qt5-merge-static-and-shared-library-trees.patch
# include fixes from MXE
patch -p1 -b -i ../qtbase-1-fixes.patch
if ! isOpenGL; then
# Add support for Angle
@ -130,12 +121,8 @@ prepare() {
# files for the debug build an unique file name
patch -p1 -i ../qt5-prevent-debug-library-names-in-pkgconfig-files.patch
# Fix qmake to create implibs with .dll.a extension for MinGW
patch -p1 -i ../qt5-qmake-implib-dll-a.patch
# As of Qt 5.4.1 the detection of the static DBus and Harfbuzz libraries got broken
# Fix the detection of the static DBus
patch -p1 -i ../qt5-fix-static-dbus-detection.patch
patch -p1 -i ../qt5-fix-static-harfbuzz-detection.patch
# Patch the win32-g++ mkspecs profile to match our environment
patch -p1 -i ../qt5-use-win32-g++-mkspecs-profile.patch
@ -169,25 +156,12 @@ prepare() {
# due to the other host-libs patches.
patch -p1 -i ../qt5-use-system-zlib-in-host-libs.patch
# Workaround a compatibility issue because we are using an older version of ANGLE in Fedora
# Upgrading the mingw-angleproject package isn't possible for now because mingw-qt5-qtwebkit doesn't support the latest ANGLE yet..
#
# /home/erik/fedora/mingw-qt5-qtbase/qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp:376:15: error: 'EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE' was not declared in this scope
# EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, EGL_NONE }
# ^
# /home/erik/fedora/mingw-qt5-qtbase/qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp:376:53: error: 'EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE' was not declared in this scope
# EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, EGL_NONE }
patch -p1 -b -i ../qt5-disable-angle-opengl-testcode.patch
patch configure ../qt5-fix-QSemaphore-problem.patch
# QTBUG-49174 Prevent warning output when QWebView loads QNetworkRequest
patch -p1 -b -i ../a91c40868bbdc1b2d2dd3b5f8b47aae9e8589a81.diff
isStatic && patch -p0 -i ../fix-static-psql-mysql.patch
# Make sure the Qt5 build system uses our external ANGLE library
rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,KHR}
rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR}
# As well as our external PCRE library and zlib
rm -rf src/3rdparty/{pcre,zlib}
@ -267,6 +241,7 @@ build() {
if ! isStatic; then
export QT_LFLAGS_MYSQL="-L/usr/${_arch}/lib -lmysql"
fi
# Qt doesn't detect mysql correctly, so use this:
export QT_CFLAGS_MYSQL="-I/usr/${_arch}/include/mariadb"
#export QT_LFLAGS_MYSQL_R="-lmariadbclient -lws2_32 -lpthread -lz -lm -lssl -lcrypto"

View File

@ -1,16 +0,0 @@
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index c1956ae..76c2f57 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -1679,8 +1679,9 @@ void QNetworkReplyHttpImplPrivate::_q_startOperation()
#endif
} else {
#ifndef QT_NO_BEARERMANAGEMENT
- QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)),
- q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection);
+ if (session)
+ QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)),
+ q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection);
#endif
}

View File

@ -1,19 +0,0 @@
--- src.orig/3rdparty/angle/src/compiler/glslang.y 2014-01-02 11:53:56.393615041 +0100
+++ src/3rdparty/angle/src/compiler/glslang.y 2014-01-02 12:06:10.904972303 +0100
@@ -47,6 +47,7 @@ WHICH GENERATES THE GLSL ES PARSER (glsl
%pure-parser
%parse-param {TParseContext* context}
%locations
+%lex-param {YYLEX_PARAM}
%code requires {
#define YYLTYPE TSourceLoc
@@ -90,7 +91,7 @@ extern void yyerror(YYLTYPE* yylloc, TPa
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
- if (YYID(N)) { \
+ if (N) { \
(Current).first_file = YYRHSLOC(Rhs, 1).first_file; \
(Current).first_line = YYRHSLOC(Rhs, 1).first_line; \
(Current).last_file = YYRHSLOC(Rhs, N).last_file; \

View File

@ -1,22 +0,0 @@
--- qt-stable/qtbase/src/angle/src/compiler/translator_common.pro.orig 2013-06-18 08:49:51.975288500 +0000
+++ qt-stable/qtbase/src/angle/src/compiler/translator_common.pro 2013-06-18 08:50:06.047321000 +0000
@@ -92,7 +92,7 @@
$$ANGLE_DIR/src/third_party/compiler/ArrayBoundsClamper.cpp
# NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
+flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
flex.output = ${QMAKE_FILE_BASE}_lex.cpp
flex.input = FLEX_SOURCES
flex.dependency_type = TYPE_C
--- qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro.orig 2013-06-18 08:50:54.314442500 +0000
+++ qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro 2013-06-18 08:51:52.606574000 +0000
@@ -43,7 +43,7 @@
$$ANGLE_DIR/src/compiler/preprocessor/Token.cpp
# NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
+flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
flex.output = ${QMAKE_FILE_BASE}.cpp
flex.input = FLEX_SOURCES
flex.dependency_type = TYPE_C

View File

@ -1,44 +0,0 @@
--- configure.orig 2014-12-05 09:24:14.000000000 -0700
+++ configure 2014-12-11 09:24:32.545799224 -0700
@@ -4765,7 +4765,7 @@
fi
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
if compileTest x11/opengl "OpenGL"; then
- CFG_OPENGL=desktop
+ CFG_OPENGL=angle
elif compileTest unix/opengles2 "OpenGL ES 2.0"; then
CFG_OPENGL=es2
else
@@ -5632,6 +5632,11 @@
QT_CONFIG="$QT_CONFIG opengles2"
fi
+if [ "$CFG_OPENGL" = "angle" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES QT_OPENGL_ES_2"
+ QT_CONFIG="$QT_CONFIG opengles2 egl angle"
+fi
+
if [ "$CFG_SHARED" = "yes" ]; then
QT_CONFIG="$QT_CONFIG shared"
QTCONFIG_CONFIG="$QTCONFIG_CONFIG shared"
@@ -6588,7 +6593,7 @@
report_support " NIS ...................." "$CFG_NIS"
report_support " OpenGL / OpenVG:"
report_support " EGL .................." "$CFG_EGL"
-report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+"
+report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+" angle "ANGLE"
report_support " OpenVG ..............." "$CFG_OPENVG-$CFG_OPENVG_SHIVA" yes-yes "ShivaVG" yes-no "native"
report_support " PCRE ..................." "$CFG_PCRE" yes "system library" qt "bundled copy"
if [ -n "$PKG_CONFIG" ]; then
--- src/plugins/platforms/windows/qwindowsglcontext.cpp.orig 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/qwindowsglcontext.cpp 2014-12-11 09:27:37.364281924 -0700
@@ -45,7 +45,9 @@
#include <algorithm>
#include <wingdi.h>
+#ifndef QT_OPENGL_ES_2
#include <GL/gl.h>
+#endif
// #define DEBUG_GL

View File

@ -1,11 +0,0 @@
--- qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp.external_angle 2015-06-29 22:04:40.000000000 +0200
+++ qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-08-05 21:37:55.922142528 +0200
@@ -366,7 +366,7 @@
EGLDisplay display = EGL_NO_DISPLAY;
EGLint major = 0;
EGLint minor = 0;
-#ifdef EGL_ANGLE_platform_angle
+#if 0
if (libEGL.eglGetPlatformDisplayEXT
&& (preferredType & QWindowsOpenGLTester::AngleBackendMask)) {
const EGLint anglePlatformAttributes[][5] = {

View File

@ -1,10 +1,18 @@
--- qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf.orig 2013-08-01 01:21:52.461910182 +0200
+++ qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf 2013-08-01 01:22:46.777801052 +0200
--- qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf.orig
+++ qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf
@@ -20,6 +20,7 @@
QMAKE_LFLAGS += $$QMAKE_LFLAGS_GCSECTIONS
host_build: QT -= gui # no host tool will ever use gui
+host_build: QT_CONFIG += rpath
+host_build: QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev] # force rpath
host_build:force_bootstrap {
!build_pass: CONFIG += release
contains(QT, core(-private)?|xml) {
@@ -30,7 +30,6 @@
} else {
!build_pass:contains(QT_CONFIG, debug_and_release):contains(QT_CONFIG, build_all): CONFIG += release
target.path = $$[QT_INSTALL_BINS]
- CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
}
INSTALLS += target

View File

@ -1,7 +0,0 @@
--- qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro.orig 2015-03-08 17:47:58.522991158 +0100
+++ qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro 2015-03-08 17:48:19.491340185 +0100
@@ -1,3 +1,3 @@
SOURCES = harfbuzz.cpp
CONFIG -= qt dylib
-LIBS += -lharfbuzz
+LIBS += -lharfbuzz -lglib-2.0 -lws2_32 -lole32 -lwinmm -lshlwapi -lintl -liconv

View File

@ -1,48 +0,0 @@
--- mkspecs/features/qt_functions.prf.orig 2012-09-05 23:30:01.612735271 +0200
+++ mkspecs/features/qt_functions.prf 2012-09-05 23:32:40.030869399 +0200
@@ -134,6 +134,19 @@
}
$$2 += $$LINKAGE
+
+ win32:CONFIG(static) {
+ isEqual(MODULE_NAME, Qt5Core) {
+ $$2 += $$QMAKE_LIBS_CORE
+ } else:isEqual(MODULE_NAME, Qt5Gui) {
+ $$2 += $$QMAKE_LIBS_GUI
+ } else:isEqual(MODULE_NAME, Qt5Network) {
+ $$2 += $$QMAKE_LIBS_NETWORK
+ } else:isEqual(MODULE_NAME, Qt5OpenGL) {
+ $$2 += $$QMAKE_LIBS_OPENGL
+ }
+ }
+
export($$2)
!isEmpty(QMAKE_LSB) {
--- mkspecs/features/default_post.prf.orig 2012-09-05 23:28:56.827501401 +0200
+++ mkspecs/features/default_post.prf 2012-09-05 23:29:31.617923080 +0200
@@ -47,3 +50,8 @@
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
+
+win32:contains(CONFIG, static) {
+ DEFINES += QT_STATIC
+ QMAKE_LFLAGS += -static
+}
--- configure.orig 2012-12-10 23:51:02.920255366 +0100
+++ configure 2012-12-10 23:55:58.101753703 +0100
@@ -6193,6 +6193,12 @@
}
QT_CONFIG += $QT_CONFIG
+contains(CONFIG, static) {
+ CONFIG -= shared
+ QT_CONFIG += static jpeg gif
+ QT_CONFIG -= shared
+}
+
#versioning
QT_VERSION = $QT_VERSION
QT_MAJOR_VERSION = $QT_MAJOR_VERSION

View File

@ -1,33 +0,0 @@
--- a/qmake/generators/win32/mingw_make.cpp 2013-08-25 13:04:06.000000000 -0500
+++ b/qmake/generators/win32/mingw_make.cpp 2014-01-02 01:24:31.640046700 -0600
@@ -58,7 +58,7 @@
QString MingwMakefileGenerator::getLibTarget()
{
- return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".a");
+ return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".dll.a");
}
QString MingwMakefileGenerator::getManifestFileForRcFile() const
@@ -250,7 +250,7 @@
if(!project->first("DESTDIR").isEmpty())
destDir = Option::fixPathToTargetOS(project->first("DESTDIR") + Option::dir_sep, false, false);
project->values("MINGW_IMPORT_LIB").prepend(destDir + "lib" + project->first("TARGET")
- + project->first("TARGET_VERSION_EXT") + ".a");
+ + project->first("TARGET_VERSION_EXT") + ".dll.a");
project->values("QMAKE_LFLAGS").append(QString("-Wl,--out-implib,") + fileVar("MINGW_IMPORT_LIB"));
}
--- a/mkspecs/features/create_cmake.prf.cmake 2013-10-22 10:49:28.000000000 +0200
+++ b/mkspecs/features/create_cmake.prf 2013-10-23 21:38:02.959762089 +0200
@@ -207,8 +207,8 @@
CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl
CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl
} else {
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.dll.a
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.dll.a
}
} else {
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib

View File

@ -9,26 +9,14 @@
DESTDIR = $$QT.core.libs
CONFIG += static
--- qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf.orig 2014-04-29 18:53:49.511932034 +0200
+++ qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf 2014-04-29 18:54:44.515819011 +0200
@@ -203,8 +203,8 @@
CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
mingw {
- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}d.a
- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_STATIC_WINDOWS_BUILD = "true"
--- qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf.qtmain 2014-07-05 14:18:23.211155781 +0200
--- qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf.orig 2014-07-05 14:18:23.211155781 +0200
+++ qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf 2014-07-05 14:18:46.045390147 +0200
@@ -6,7 +6,7 @@
@@ -5,7 +5,7 @@
mingw:DEFINES += QT_NEEDS_QMAIN
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
- isEqual(entryLib, -lqtmain): {
- isEqual(entryLib, -lqtmain) {
+ isEqual(entryLib, -lqt5main): {
!contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
QMAKE_LIBS += -L$$QT.core.libs

View File

@ -1,113 +0,0 @@
--- src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-05 09:24:36.000000000 -0700
+++ src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-11 10:19:51.599972209 -0700
@@ -2,9 +2,9 @@
!!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\")
!!ELSE
-set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\")
!!ENDIF
_qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS})
--- src/gui/gui.pro 2014-12-05 09:24:35.000000000 -0700
+++ src/gui/gui.pro 2014-12-11 10:22:37.644366784 -0700
@@ -17,12 +17,6 @@
imageformats \
egldeviceintegrations
-# This is here only because the platform plugin is no module, obviously.
-win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
- MODULE_AUX_INCLUDES = \
- \$\$QT_MODULE_INCLUDE_BASE/QtANGLE
-}
-
load(qt_module)
# Code coverage with TestCocoon
@@ -33,6 +27,10 @@
mac:!ios: LIBS_PRIVATE += -framework Cocoa
+win32:contains(QT_CONFIG, angle) {
+ LIBS_PRIVATE += -lGLESv2
+}
+
CONFIG += simd optimize_full
include(accessible/accessible.pri)
@@ -55,13 +53,21 @@
contains(QT_CONFIG, angle) {
CMAKE_GL_INCDIRS = $$CMAKE_INCLUDE_DIR
CMAKE_ANGLE_EGL_DLL_RELEASE = libEGL.dll
- CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
CMAKE_ANGLE_GLES2_DLL_RELEASE = libGLESv2.dll
- CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
CMAKE_ANGLE_EGL_DLL_DEBUG = libEGLd.dll
- CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
CMAKE_ANGLE_GLES2_DLL_DEBUG = libGLESv2d.dll
- CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
+
+ win32-g++* {
+ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.dll.a
+ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.dll.a
+ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.dll.a
+ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.dll.a
+ } else {
+ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
+ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
+ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
+ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
+ }
CMAKE_QT_OPENGL_IMPLEMENTATION = GLESv2
} else {
--- src/opengl/opengl.pro 2014-12-05 09:24:31.000000000 -0700
+++ src/opengl/opengl.pro 2014-12-11 10:15:45.884805707 -0700
@@ -13,6 +13,10 @@
contains(QT_CONFIG, opengl):CONFIG += opengl
contains(QT_CONFIG, opengles2):CONFIG += opengles2
+win32:contains(QT_CONFIG, angle) {
+ LIBS_PRIVATE += -lGLESv2
+}
+
HEADERS += qgl.h \
qgl_p.h \
qglcolormap.h \
--- src/plugins/platforms/windows/windows.pri 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/windows.pri 2014-12-11 10:13:45.228261276 -0700
@@ -3,6 +3,7 @@
!wince: LIBS *= -luser32 -lwinspool -limm32 -lwinmm -loleaut32
contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles2):!contains(QT_CONFIG, dynamicgl): LIBS *= -lopengl32
+contains(QT_CONFIG, angle):LIBS += -lGLESv2 -lEGL
mingw: LIBS *= -luuid
# For the dialog helpers:
--- src/src.pro 2014-12-05 09:24:31.000000000 -0700
+++ src/src.pro 2014-12-11 10:06:14.882845813 -0700
@@ -155,10 +155,6 @@
SUBDIRS += src_3rdparty_harfbuzzng
src_gui.depends += src_3rdparty_harfbuzzng
}
- win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
- SUBDIRS += src_angle
- src_gui.depends += src_angle
- }
contains(QT_CONFIG, freetype) {
SUBDIRS += src_3rdparty_freetype
src_platformsupport.depends += src_3rdparty_freetype
--- src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-11 20:07:27.099190408 -0700
@@ -39,7 +39,7 @@
#include <QtGui/QOpenGLContext>
#if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
-# include <QtANGLE/EGL/eglext.h>
+# include <EGL/eglext.h>
#endif
QT_BEGIN_NAMESPACE

View File

@ -22,8 +22,8 @@
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
@@ -84,21 +84,26 @@
QMAKE_EXTENSION_STATICLIB = a
@@ -94,21 +94,26 @@
QMAKE_LIB_EXTENSIONS = a dll.a
QMAKE_LIBS =
-QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
@ -33,17 +33,18 @@
+QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng -lharfbuzz -lglib-2.0 -lintl -lwinmm
+QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2 = -llibEGL -llibGLESv2 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -llibEGLd -llibGLESv2d -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 -ld3d9 -ldxguid -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2_DEBUG = $(QMAKE_LIBS_OPENGL_ES2)
-QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d -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 = midl
-QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+QMAKE_IDL = $${CROSS_COMPILE}widl
QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+QMAKE_LIB = $${CROSS_COMPILE}ar -rc
QMAKE_RC = $${CROSS_COMPILE}windres
+QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool
+QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5

View File

@ -0,0 +1,223 @@
This file is part of MXE.
See index.html for further information.
Contains ad hoc patches for cross building.
From 54b168c305f54e60de0e32501b166faa7f5913e0 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 6 Aug 2015 23:35:08 +0200
Subject: [PATCH 1/8] 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.5.0
From 26b89d11b4e51d3aa2aab14dd52216ef8b1c7950 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Sat, 21 Jun 2014 13:12:49 +0200
Subject: [PATCH 2/8] 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.5.0
From fa5ca49b4ffc1911a597b294ef2d4b5ecb983cad Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Mon, 8 Dec 2014 14:15:12 +0100
Subject: [PATCH 3/8] 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.5.0
From 7fd641a032c7b4ce1b14d7ca02da646b0a0c34d5 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 6 Aug 2015 13:24:56 +0200
Subject: [PATCH 4/8] configure: don't set QT_NO_SYSTEMSEMAPHORE for Windows
Change-Id: I53c110ef40e3d14cc49fa23aa5d294611cac2ffa
diff --git a/configure b/configure
index 7651e29..4a4b478 100755
--- a/configure
+++ b/configure
@@ -4575,7 +4575,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.5.0
From 959d3a71bced8c00967a16f23c6f9305e56fafcd Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Tue, 6 Oct 2015 09:53:20 +0200
Subject: [PATCH 5/8] 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.5.0
From a6f45e15cf19e29afc5f42d1e87feb2b4f7e9532 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 18 Oct 2015 23:11:28 +0300
Subject: [PATCH 6/8] configure: fix log corruption with option -v
This bug occurs if ./configure is called with -v on systems on
which fd proc entries point to the files/devices they are open
on instead of being magic nodes which would basically dup() the
actual fds (e.g., Linux).
In this case, the command "tee $tty" appends to /dev/stderr, which
may be already opened by the parent process. This breaks the log file.
Normally, the log file starts with
This is the Qt Open Source Edition.
...
but with `-v` flag it would start with output of awkprog and maybe
some zero bytes. Zero bytes are observed on Debian Wheezy.
DEFAULT_INCDIRS=...
...
^@^@^@^@^@^@^@^@^@^@^@^@...
Done running configuration tests.
...
To fix this problem, the output of `...` is saved to a variable, and
then eval'd and echo'd (if -v).
This solution was found by Tony Theodore.
https://github.com/mxe/mxe/issues/938#issuecomment-149770348
Change-Id: Id0c28598890e813774cc92f38ee46a0697b34e77
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 45fe3f1cde1e516d1ddccddb5e33ea4316497c36)
diff --git a/configure b/configure
index 4a4b478..a5c0fd5 100755
--- a/configure
+++ b/configure
@@ -3639,10 +3639,9 @@ END {
print "DEFAULT_LIBDIRS=\"/lib\n/usr/lib\"\n";
}'
-unset tty
-[ "$OPT_VERBOSE" = "yes" ] && tty=/dev/stderr
-eval "`LC_ALL=C $TEST_COMPILER $SYSROOT_FLAG $TEST_COMPILER_CXXFLAGS -xc++ -E -v - < /dev/null 2>&1 > /dev/null | $AWK "$awkprog" | tee $tty`"
-unset tty
+awkprog_result=`LC_ALL=C $TEST_COMPILER $SYSROOT_FLAG $TEST_COMPILER_CXXFLAGS -xc++ -E -v - < /dev/null 2>&1 > /dev/null | $AWK "$awkprog"`
+eval "$awkprog_result"
+[ "$OPT_VERBOSE" = "yes" ] && echo "$awkprog_result"
echo "Done running configuration tests."
--
2.5.0
From 6064564099df17f7cddded8ec0c68d9e57d29ae9 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Wed, 26 Aug 2015 12:45:43 +0100
Subject: [PATCH 7/8] cmake: Rearrange STATIC vs INTERFACE targets
Otherwise we attempt to add_library(Qt5::UiPlugin STATIC IMPORTED)
for header-only modules when building Qt5 statically.
Source: https://git.io/vzWJz
See also: https://github.com/mxe/mxe/issues/1185
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index d2358ca..6b1dc95 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -222,13 +222,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endif()
!!ENDIF
+!!IF equals(TEMPLATE, aux)
+ add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
+!!ELSE
!!IF !isEmpty(CMAKE_STATIC_TYPE)
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
!!ELSE
-!!IF equals(TEMPLATE, aux)
- add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
-!!ELSE
add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
!!ENDIF
!!ENDIF
--
2.5.0

View File

@ -53,18 +53,7 @@ diff -U 3 -r a/src/opengl/opengl.pro b/src/opengl/opengl.pro
HEADERS += qgl.h \
qgl_p.h \
diff -U 3 -r a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp
--- a/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-06-29 14:04:40.000000000 -0600
+++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-07-18 10:52:29.667410627 -0600
@@ -39,7 +39,7 @@
#include <QtGui/QOpenGLContext>
#if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
-# include <QtANGLE/EGL/eglext.h>
+# include <EGL/eglext.h>
#endif
QT_BEGIN_NAMESPACE
diff -U 3 -r a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
--- a/src/plugins/platforms/windows/windows.pri 2015-06-29 14:04:40.000000000 -0600
+++ b/src/plugins/platforms/windows/windows.pri 2015-07-18 10:53:45.585348009 -0600

View File

@ -6,7 +6,7 @@
pkgname=mingw-w64-qt5-base-static
pkgver=5.6.0
pkgrel=1
pkgdesc="A cross-platform application and UI framework (mingw-w64)"
pkgdesc="A cross-platform application and UI framework (mingw-w64, OpenGL)"
arch=(i686 x86_64)
url="https://www.qt.io/"
license=("custom, FDL, GPL3, LGPL")
@ -36,7 +36,6 @@ makedepends=(mingw-w64-gcc
options=(!strip !buildflags staticlibs)
_pkgfqn="qtbase-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
"qt5-merge-static-and-shared-library-trees.patch"
"add-angle-support.patch"
"use-external-angle-library.patch"
"qt5-workaround-pkgconfig-install-issue.patch"
@ -46,37 +45,32 @@ source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/sub
"qt5-enable-rpath-for-host-tools.patch"
"qt5-dont-add-resource-files-to-qmake-libs.patch"
"qt5-prevent-debug-library-names-in-pkgconfig-files.patch"
"qt5-qmake-implib-dll-a.patch"
"qt5-fix-static-dbus-detection.patch"
"qt5-fix-static-harfbuzz-detection.patch"
"qt5-use-win32-g++-mkspecs-profile.patch"
"qt5-use-system-zlib-in-host-libs.patch"
"fix-opengl-to-many-sections.patch"
"fix-static-psql-mysql.patch"
"qt5-disable-angle-opengl-testcode.patch"
"qt5-fix-QSemaphore-problem.patch"
"a91c40868bbdc1b2d2dd3b5f8b47aae9e8589a81.diff")
"qtbase-1-fixes.patch")
md5sums=('d6b6cfd333c22829c6c85fc52ceed019'
'f51eb2b176b10af943831d33925c1251'
'bab00ccc19d888997f323c80354a7c3f'
'ec25d1ff4033383cd5d2414d8189c228'
'9916ded318f21afbe8388f0b9822062b'
'bc99c4cc6998295d76f37ed681c20d47'
'4fe6523dd1c34398df3aa5a8763530cc'
'c4d4ca54a2e9096d2af13a266177f6d6'
'22be0aa7fc36c5d08b3b41f0eccf7479'
'3bd322551924543553a2bf81b4419a09'
'15e8eaa4f0a9a9990277c79e243770be'
'30fa9ddf8d842b1392e8d63868940657'
'99bb9f51ec684803768f36e407baf486'
'6a6bc88f35ac8080869de39bc128ce5b'
'e793479e0b86b39ddafd328140f1a24c'
'40de3aaf7d713034e06f4eece665b1ba'
'4149c27286f110e37893d1764d4c8a68'
'39cdea1b39a1d993df6d01a576e8116f'
'd0c7198115ff028188ed1759b70fd981'
'a265dea62755caf38187114143999224'
'612a4dfb9f1a3898a1920c28bb999159'
'd0eb81aef1a21c65813fe4ddabbc4206'
'0076233a43e7edaaaf8c2abca2ada8df'
'87cbd116c75ced1b075bf266f2455d50'
'1bc70e7e3ea6a0178891d984f0451b3c')
'62d2977e57fccf1f16d7ea6bf06d3279')
_architectures="x86_64-w64-mingw32 i686-w64-mingw32"
# Helper functions for the split builds
@ -96,11 +90,8 @@ isOpenGL && conflicts+=("mingw-w64-qt5-base")
prepare() {
cd "${srcdir}/${_pkgfqn}"
# When building Qt as static library some files have a different content
# when compared to the static library. Merge those changes manually.
# This patch also applies some additional changes which are required to make
# linking against the static version of Qt work without any manual fiddling
patch -p0 -i ../qt5-merge-static-and-shared-library-trees.patch
# include fixes from MXE
patch -p1 -b -i ../qtbase-1-fixes.patch
if ! isOpenGL; then
# Add support for Angle
@ -130,12 +121,8 @@ prepare() {
# files for the debug build an unique file name
patch -p1 -i ../qt5-prevent-debug-library-names-in-pkgconfig-files.patch
# Fix qmake to create implibs with .dll.a extension for MinGW
patch -p1 -i ../qt5-qmake-implib-dll-a.patch
# As of Qt 5.4.1 the detection of the static DBus and Harfbuzz libraries got broken
# Fix the detection of the static DBus
patch -p1 -i ../qt5-fix-static-dbus-detection.patch
patch -p1 -i ../qt5-fix-static-harfbuzz-detection.patch
# Patch the win32-g++ mkspecs profile to match our environment
patch -p1 -i ../qt5-use-win32-g++-mkspecs-profile.patch
@ -169,25 +156,12 @@ prepare() {
# due to the other host-libs patches.
patch -p1 -i ../qt5-use-system-zlib-in-host-libs.patch
# Workaround a compatibility issue because we are using an older version of ANGLE in Fedora
# Upgrading the mingw-angleproject package isn't possible for now because mingw-qt5-qtwebkit doesn't support the latest ANGLE yet..
#
# /home/erik/fedora/mingw-qt5-qtbase/qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp:376:15: error: 'EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE' was not declared in this scope
# EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, EGL_NONE }
# ^
# /home/erik/fedora/mingw-qt5-qtbase/qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp:376:53: error: 'EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE' was not declared in this scope
# EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, EGL_NONE }
patch -p1 -b -i ../qt5-disable-angle-opengl-testcode.patch
patch configure ../qt5-fix-QSemaphore-problem.patch
# QTBUG-49174 Prevent warning output when QWebView loads QNetworkRequest
patch -p1 -b -i ../a91c40868bbdc1b2d2dd3b5f8b47aae9e8589a81.diff
isStatic && patch -p0 -i ../fix-static-psql-mysql.patch
# Make sure the Qt5 build system uses our external ANGLE library
rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,KHR}
rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR}
# As well as our external PCRE library and zlib
rm -rf src/3rdparty/{pcre,zlib}
@ -267,6 +241,7 @@ build() {
if ! isStatic; then
export QT_LFLAGS_MYSQL="-L/usr/${_arch}/lib -lmysql"
fi
# Qt doesn't detect mysql correctly, so use this:
export QT_CFLAGS_MYSQL="-I/usr/${_arch}/include/mariadb"
#export QT_LFLAGS_MYSQL_R="-lmariadbclient -lws2_32 -lpthread -lz -lm -lssl -lcrypto"

View File

@ -1,16 +0,0 @@
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index c1956ae..76c2f57 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -1679,8 +1679,9 @@ void QNetworkReplyHttpImplPrivate::_q_startOperation()
#endif
} else {
#ifndef QT_NO_BEARERMANAGEMENT
- QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)),
- q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection);
+ if (session)
+ QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)),
+ q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection);
#endif
}

View File

@ -1,19 +0,0 @@
--- src.orig/3rdparty/angle/src/compiler/glslang.y 2014-01-02 11:53:56.393615041 +0100
+++ src/3rdparty/angle/src/compiler/glslang.y 2014-01-02 12:06:10.904972303 +0100
@@ -47,6 +47,7 @@ WHICH GENERATES THE GLSL ES PARSER (glsl
%pure-parser
%parse-param {TParseContext* context}
%locations
+%lex-param {YYLEX_PARAM}
%code requires {
#define YYLTYPE TSourceLoc
@@ -90,7 +91,7 @@ extern void yyerror(YYLTYPE* yylloc, TPa
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
- if (YYID(N)) { \
+ if (N) { \
(Current).first_file = YYRHSLOC(Rhs, 1).first_file; \
(Current).first_line = YYRHSLOC(Rhs, 1).first_line; \
(Current).last_file = YYRHSLOC(Rhs, N).last_file; \

View File

@ -1,22 +0,0 @@
--- qt-stable/qtbase/src/angle/src/compiler/translator_common.pro.orig 2013-06-18 08:49:51.975288500 +0000
+++ qt-stable/qtbase/src/angle/src/compiler/translator_common.pro 2013-06-18 08:50:06.047321000 +0000
@@ -92,7 +92,7 @@
$$ANGLE_DIR/src/third_party/compiler/ArrayBoundsClamper.cpp
# NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
+flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
flex.output = ${QMAKE_FILE_BASE}_lex.cpp
flex.input = FLEX_SOURCES
flex.dependency_type = TYPE_C
--- qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro.orig 2013-06-18 08:50:54.314442500 +0000
+++ qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro 2013-06-18 08:51:52.606574000 +0000
@@ -43,7 +43,7 @@
$$ANGLE_DIR/src/compiler/preprocessor/Token.cpp
# NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
+flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
flex.output = ${QMAKE_FILE_BASE}.cpp
flex.input = FLEX_SOURCES
flex.dependency_type = TYPE_C

View File

@ -1,44 +0,0 @@
--- configure.orig 2014-12-05 09:24:14.000000000 -0700
+++ configure 2014-12-11 09:24:32.545799224 -0700
@@ -4765,7 +4765,7 @@
fi
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
if compileTest x11/opengl "OpenGL"; then
- CFG_OPENGL=desktop
+ CFG_OPENGL=angle
elif compileTest unix/opengles2 "OpenGL ES 2.0"; then
CFG_OPENGL=es2
else
@@ -5632,6 +5632,11 @@
QT_CONFIG="$QT_CONFIG opengles2"
fi
+if [ "$CFG_OPENGL" = "angle" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES QT_OPENGL_ES_2"
+ QT_CONFIG="$QT_CONFIG opengles2 egl angle"
+fi
+
if [ "$CFG_SHARED" = "yes" ]; then
QT_CONFIG="$QT_CONFIG shared"
QTCONFIG_CONFIG="$QTCONFIG_CONFIG shared"
@@ -6588,7 +6593,7 @@
report_support " NIS ...................." "$CFG_NIS"
report_support " OpenGL / OpenVG:"
report_support " EGL .................." "$CFG_EGL"
-report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+"
+report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+" angle "ANGLE"
report_support " OpenVG ..............." "$CFG_OPENVG-$CFG_OPENVG_SHIVA" yes-yes "ShivaVG" yes-no "native"
report_support " PCRE ..................." "$CFG_PCRE" yes "system library" qt "bundled copy"
if [ -n "$PKG_CONFIG" ]; then
--- src/plugins/platforms/windows/qwindowsglcontext.cpp.orig 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/qwindowsglcontext.cpp 2014-12-11 09:27:37.364281924 -0700
@@ -45,7 +45,9 @@
#include <algorithm>
#include <wingdi.h>
+#ifndef QT_OPENGL_ES_2
#include <GL/gl.h>
+#endif
// #define DEBUG_GL

View File

@ -1,11 +0,0 @@
--- qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp.external_angle 2015-06-29 22:04:40.000000000 +0200
+++ qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-08-05 21:37:55.922142528 +0200
@@ -366,7 +366,7 @@
EGLDisplay display = EGL_NO_DISPLAY;
EGLint major = 0;
EGLint minor = 0;
-#ifdef EGL_ANGLE_platform_angle
+#if 0
if (libEGL.eglGetPlatformDisplayEXT
&& (preferredType & QWindowsOpenGLTester::AngleBackendMask)) {
const EGLint anglePlatformAttributes[][5] = {

View File

@ -1,10 +1,18 @@
--- qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf.orig 2013-08-01 01:21:52.461910182 +0200
+++ qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf 2013-08-01 01:22:46.777801052 +0200
--- qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf.orig
+++ qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf
@@ -20,6 +20,7 @@
QMAKE_LFLAGS += $$QMAKE_LFLAGS_GCSECTIONS
host_build: QT -= gui # no host tool will ever use gui
+host_build: QT_CONFIG += rpath
+host_build: QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev] # force rpath
host_build:force_bootstrap {
!build_pass: CONFIG += release
contains(QT, core(-private)?|xml) {
@@ -30,7 +30,6 @@
} else {
!build_pass:contains(QT_CONFIG, debug_and_release):contains(QT_CONFIG, build_all): CONFIG += release
target.path = $$[QT_INSTALL_BINS]
- CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
}
INSTALLS += target

View File

@ -1,7 +0,0 @@
--- qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro.orig 2015-03-08 17:47:58.522991158 +0100
+++ qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro 2015-03-08 17:48:19.491340185 +0100
@@ -1,3 +1,3 @@
SOURCES = harfbuzz.cpp
CONFIG -= qt dylib
-LIBS += -lharfbuzz
+LIBS += -lharfbuzz -lglib-2.0 -lws2_32 -lole32 -lwinmm -lshlwapi -lintl -liconv

View File

@ -1,48 +0,0 @@
--- mkspecs/features/qt_functions.prf.orig 2012-09-05 23:30:01.612735271 +0200
+++ mkspecs/features/qt_functions.prf 2012-09-05 23:32:40.030869399 +0200
@@ -134,6 +134,19 @@
}
$$2 += $$LINKAGE
+
+ win32:CONFIG(static) {
+ isEqual(MODULE_NAME, Qt5Core) {
+ $$2 += $$QMAKE_LIBS_CORE
+ } else:isEqual(MODULE_NAME, Qt5Gui) {
+ $$2 += $$QMAKE_LIBS_GUI
+ } else:isEqual(MODULE_NAME, Qt5Network) {
+ $$2 += $$QMAKE_LIBS_NETWORK
+ } else:isEqual(MODULE_NAME, Qt5OpenGL) {
+ $$2 += $$QMAKE_LIBS_OPENGL
+ }
+ }
+
export($$2)
!isEmpty(QMAKE_LSB) {
--- mkspecs/features/default_post.prf.orig 2012-09-05 23:28:56.827501401 +0200
+++ mkspecs/features/default_post.prf 2012-09-05 23:29:31.617923080 +0200
@@ -47,3 +50,8 @@
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
+
+win32:contains(CONFIG, static) {
+ DEFINES += QT_STATIC
+ QMAKE_LFLAGS += -static
+}
--- configure.orig 2012-12-10 23:51:02.920255366 +0100
+++ configure 2012-12-10 23:55:58.101753703 +0100
@@ -6193,6 +6193,12 @@
}
QT_CONFIG += $QT_CONFIG
+contains(CONFIG, static) {
+ CONFIG -= shared
+ QT_CONFIG += static jpeg gif
+ QT_CONFIG -= shared
+}
+
#versioning
QT_VERSION = $QT_VERSION
QT_MAJOR_VERSION = $QT_MAJOR_VERSION

View File

@ -1,33 +0,0 @@
--- a/qmake/generators/win32/mingw_make.cpp 2013-08-25 13:04:06.000000000 -0500
+++ b/qmake/generators/win32/mingw_make.cpp 2014-01-02 01:24:31.640046700 -0600
@@ -58,7 +58,7 @@
QString MingwMakefileGenerator::getLibTarget()
{
- return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".a");
+ return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".dll.a");
}
QString MingwMakefileGenerator::getManifestFileForRcFile() const
@@ -250,7 +250,7 @@
if(!project->first("DESTDIR").isEmpty())
destDir = Option::fixPathToTargetOS(project->first("DESTDIR") + Option::dir_sep, false, false);
project->values("MINGW_IMPORT_LIB").prepend(destDir + "lib" + project->first("TARGET")
- + project->first("TARGET_VERSION_EXT") + ".a");
+ + project->first("TARGET_VERSION_EXT") + ".dll.a");
project->values("QMAKE_LFLAGS").append(QString("-Wl,--out-implib,") + fileVar("MINGW_IMPORT_LIB"));
}
--- a/mkspecs/features/create_cmake.prf.cmake 2013-10-22 10:49:28.000000000 +0200
+++ b/mkspecs/features/create_cmake.prf 2013-10-23 21:38:02.959762089 +0200
@@ -207,8 +207,8 @@
CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl
CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl
} else {
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.dll.a
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.dll.a
}
} else {
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib

View File

@ -9,26 +9,14 @@
DESTDIR = $$QT.core.libs
CONFIG += static
--- qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf.orig 2014-04-29 18:53:49.511932034 +0200
+++ qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf 2014-04-29 18:54:44.515819011 +0200
@@ -203,8 +203,8 @@
CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
mingw {
- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}d.a
- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_STATIC_WINDOWS_BUILD = "true"
--- qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf.qtmain 2014-07-05 14:18:23.211155781 +0200
--- qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf.orig 2014-07-05 14:18:23.211155781 +0200
+++ qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf 2014-07-05 14:18:46.045390147 +0200
@@ -6,7 +6,7 @@
@@ -5,7 +5,7 @@
mingw:DEFINES += QT_NEEDS_QMAIN
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
- isEqual(entryLib, -lqtmain): {
- isEqual(entryLib, -lqtmain) {
+ isEqual(entryLib, -lqt5main): {
!contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
QMAKE_LIBS += -L$$QT.core.libs

View File

@ -1,113 +0,0 @@
--- src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-05 09:24:36.000000000 -0700
+++ src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-11 10:19:51.599972209 -0700
@@ -2,9 +2,9 @@
!!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\")
!!ELSE
-set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\")
!!ENDIF
_qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS})
--- src/gui/gui.pro 2014-12-05 09:24:35.000000000 -0700
+++ src/gui/gui.pro 2014-12-11 10:22:37.644366784 -0700
@@ -17,12 +17,6 @@
imageformats \
egldeviceintegrations
-# This is here only because the platform plugin is no module, obviously.
-win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
- MODULE_AUX_INCLUDES = \
- \$\$QT_MODULE_INCLUDE_BASE/QtANGLE
-}
-
load(qt_module)
# Code coverage with TestCocoon
@@ -33,6 +27,10 @@
mac:!ios: LIBS_PRIVATE += -framework Cocoa
+win32:contains(QT_CONFIG, angle) {
+ LIBS_PRIVATE += -lGLESv2
+}
+
CONFIG += simd optimize_full
include(accessible/accessible.pri)
@@ -55,13 +53,21 @@
contains(QT_CONFIG, angle) {
CMAKE_GL_INCDIRS = $$CMAKE_INCLUDE_DIR
CMAKE_ANGLE_EGL_DLL_RELEASE = libEGL.dll
- CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
CMAKE_ANGLE_GLES2_DLL_RELEASE = libGLESv2.dll
- CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
CMAKE_ANGLE_EGL_DLL_DEBUG = libEGLd.dll
- CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
CMAKE_ANGLE_GLES2_DLL_DEBUG = libGLESv2d.dll
- CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
+
+ win32-g++* {
+ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.dll.a
+ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.dll.a
+ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.dll.a
+ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.dll.a
+ } else {
+ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
+ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
+ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
+ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
+ }
CMAKE_QT_OPENGL_IMPLEMENTATION = GLESv2
} else {
--- src/opengl/opengl.pro 2014-12-05 09:24:31.000000000 -0700
+++ src/opengl/opengl.pro 2014-12-11 10:15:45.884805707 -0700
@@ -13,6 +13,10 @@
contains(QT_CONFIG, opengl):CONFIG += opengl
contains(QT_CONFIG, opengles2):CONFIG += opengles2
+win32:contains(QT_CONFIG, angle) {
+ LIBS_PRIVATE += -lGLESv2
+}
+
HEADERS += qgl.h \
qgl_p.h \
qglcolormap.h \
--- src/plugins/platforms/windows/windows.pri 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/windows.pri 2014-12-11 10:13:45.228261276 -0700
@@ -3,6 +3,7 @@
!wince: LIBS *= -luser32 -lwinspool -limm32 -lwinmm -loleaut32
contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles2):!contains(QT_CONFIG, dynamicgl): LIBS *= -lopengl32
+contains(QT_CONFIG, angle):LIBS += -lGLESv2 -lEGL
mingw: LIBS *= -luuid
# For the dialog helpers:
--- src/src.pro 2014-12-05 09:24:31.000000000 -0700
+++ src/src.pro 2014-12-11 10:06:14.882845813 -0700
@@ -155,10 +155,6 @@
SUBDIRS += src_3rdparty_harfbuzzng
src_gui.depends += src_3rdparty_harfbuzzng
}
- win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
- SUBDIRS += src_angle
- src_gui.depends += src_angle
- }
contains(QT_CONFIG, freetype) {
SUBDIRS += src_3rdparty_freetype
src_platformsupport.depends += src_3rdparty_freetype
--- src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-11 20:07:27.099190408 -0700
@@ -39,7 +39,7 @@
#include <QtGui/QOpenGLContext>
#if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
-# include <QtANGLE/EGL/eglext.h>
+# include <EGL/eglext.h>
#endif
QT_BEGIN_NAMESPACE

View File

@ -22,8 +22,8 @@
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
@@ -84,21 +84,26 @@
QMAKE_EXTENSION_STATICLIB = a
@@ -94,21 +94,26 @@
QMAKE_LIB_EXTENSIONS = a dll.a
QMAKE_LIBS =
-QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
@ -33,17 +33,18 @@
+QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng -lharfbuzz -lglib-2.0 -lintl -lwinmm
+QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2 = -llibEGL -llibGLESv2 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -llibEGLd -llibGLESv2d -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 -ld3d9 -ldxguid -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2_DEBUG = $(QMAKE_LIBS_OPENGL_ES2)
-QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d -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 = midl
-QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+QMAKE_IDL = $${CROSS_COMPILE}widl
QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+QMAKE_LIB = $${CROSS_COMPILE}ar -rc
QMAKE_RC = $${CROSS_COMPILE}windres
+QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool
+QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5

View File

@ -0,0 +1,223 @@
This file is part of MXE.
See index.html for further information.
Contains ad hoc patches for cross building.
From 54b168c305f54e60de0e32501b166faa7f5913e0 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 6 Aug 2015 23:35:08 +0200
Subject: [PATCH 1/8] 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.5.0
From 26b89d11b4e51d3aa2aab14dd52216ef8b1c7950 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Sat, 21 Jun 2014 13:12:49 +0200
Subject: [PATCH 2/8] 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.5.0
From fa5ca49b4ffc1911a597b294ef2d4b5ecb983cad Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Mon, 8 Dec 2014 14:15:12 +0100
Subject: [PATCH 3/8] 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.5.0
From 7fd641a032c7b4ce1b14d7ca02da646b0a0c34d5 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 6 Aug 2015 13:24:56 +0200
Subject: [PATCH 4/8] configure: don't set QT_NO_SYSTEMSEMAPHORE for Windows
Change-Id: I53c110ef40e3d14cc49fa23aa5d294611cac2ffa
diff --git a/configure b/configure
index 7651e29..4a4b478 100755
--- a/configure
+++ b/configure
@@ -4575,7 +4575,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.5.0
From 959d3a71bced8c00967a16f23c6f9305e56fafcd Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Tue, 6 Oct 2015 09:53:20 +0200
Subject: [PATCH 5/8] 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.5.0
From a6f45e15cf19e29afc5f42d1e87feb2b4f7e9532 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Sun, 18 Oct 2015 23:11:28 +0300
Subject: [PATCH 6/8] configure: fix log corruption with option -v
This bug occurs if ./configure is called with -v on systems on
which fd proc entries point to the files/devices they are open
on instead of being magic nodes which would basically dup() the
actual fds (e.g., Linux).
In this case, the command "tee $tty" appends to /dev/stderr, which
may be already opened by the parent process. This breaks the log file.
Normally, the log file starts with
This is the Qt Open Source Edition.
...
but with `-v` flag it would start with output of awkprog and maybe
some zero bytes. Zero bytes are observed on Debian Wheezy.
DEFAULT_INCDIRS=...
...
^@^@^@^@^@^@^@^@^@^@^@^@...
Done running configuration tests.
...
To fix this problem, the output of `...` is saved to a variable, and
then eval'd and echo'd (if -v).
This solution was found by Tony Theodore.
https://github.com/mxe/mxe/issues/938#issuecomment-149770348
Change-Id: Id0c28598890e813774cc92f38ee46a0697b34e77
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 45fe3f1cde1e516d1ddccddb5e33ea4316497c36)
diff --git a/configure b/configure
index 4a4b478..a5c0fd5 100755
--- a/configure
+++ b/configure
@@ -3639,10 +3639,9 @@ END {
print "DEFAULT_LIBDIRS=\"/lib\n/usr/lib\"\n";
}'
-unset tty
-[ "$OPT_VERBOSE" = "yes" ] && tty=/dev/stderr
-eval "`LC_ALL=C $TEST_COMPILER $SYSROOT_FLAG $TEST_COMPILER_CXXFLAGS -xc++ -E -v - < /dev/null 2>&1 > /dev/null | $AWK "$awkprog" | tee $tty`"
-unset tty
+awkprog_result=`LC_ALL=C $TEST_COMPILER $SYSROOT_FLAG $TEST_COMPILER_CXXFLAGS -xc++ -E -v - < /dev/null 2>&1 > /dev/null | $AWK "$awkprog"`
+eval "$awkprog_result"
+[ "$OPT_VERBOSE" = "yes" ] && echo "$awkprog_result"
echo "Done running configuration tests."
--
2.5.0
From 6064564099df17f7cddded8ec0c68d9e57d29ae9 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Wed, 26 Aug 2015 12:45:43 +0100
Subject: [PATCH 7/8] cmake: Rearrange STATIC vs INTERFACE targets
Otherwise we attempt to add_library(Qt5::UiPlugin STATIC IMPORTED)
for header-only modules when building Qt5 statically.
Source: https://git.io/vzWJz
See also: https://github.com/mxe/mxe/issues/1185
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index d2358ca..6b1dc95 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -222,13 +222,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endif()
!!ENDIF
+!!IF equals(TEMPLATE, aux)
+ add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
+!!ELSE
!!IF !isEmpty(CMAKE_STATIC_TYPE)
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
!!ELSE
-!!IF equals(TEMPLATE, aux)
- add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
-!!ELSE
add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
!!ENDIF
!!ENDIF
--
2.5.0

View File

@ -53,18 +53,7 @@ diff -U 3 -r a/src/opengl/opengl.pro b/src/opengl/opengl.pro
HEADERS += qgl.h \
qgl_p.h \
diff -U 3 -r a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp
--- a/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-06-29 14:04:40.000000000 -0600
+++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-07-18 10:52:29.667410627 -0600
@@ -39,7 +39,7 @@
#include <QtGui/QOpenGLContext>
#if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
-# include <QtANGLE/EGL/eglext.h>
+# include <EGL/eglext.h>
#endif
QT_BEGIN_NAMESPACE
diff -U 3 -r a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
--- a/src/plugins/platforms/windows/windows.pri 2015-06-29 14:04:40.000000000 -0600
+++ b/src/plugins/platforms/windows/windows.pri 2015-07-18 10:53:45.585348009 -0600

View File

@ -36,7 +36,6 @@ makedepends=(mingw-w64-gcc
options=(!strip !buildflags staticlibs)
_pkgfqn="qtbase-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
"qt5-merge-static-and-shared-library-trees.patch"
"add-angle-support.patch"
"use-external-angle-library.patch"
"qt5-workaround-pkgconfig-install-issue.patch"
@ -46,37 +45,32 @@ source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/sub
"qt5-enable-rpath-for-host-tools.patch"
"qt5-dont-add-resource-files-to-qmake-libs.patch"
"qt5-prevent-debug-library-names-in-pkgconfig-files.patch"
"qt5-qmake-implib-dll-a.patch"
"qt5-fix-static-dbus-detection.patch"
"qt5-fix-static-harfbuzz-detection.patch"
"qt5-use-win32-g++-mkspecs-profile.patch"
"qt5-use-system-zlib-in-host-libs.patch"
"fix-opengl-to-many-sections.patch"
"fix-static-psql-mysql.patch"
"qt5-disable-angle-opengl-testcode.patch"
"qt5-fix-QSemaphore-problem.patch"
"a91c40868bbdc1b2d2dd3b5f8b47aae9e8589a81.diff")
"qtbase-1-fixes.patch")
md5sums=('d6b6cfd333c22829c6c85fc52ceed019'
'085faf5796ab9e8c7edde416ba631150'
'bab00ccc19d888997f323c80354a7c3f'
'ec25d1ff4033383cd5d2414d8189c228'
'9916ded318f21afbe8388f0b9822062b'
'bc99c4cc6998295d76f37ed681c20d47'
'4fe6523dd1c34398df3aa5a8763530cc'
'c4d4ca54a2e9096d2af13a266177f6d6'
'22be0aa7fc36c5d08b3b41f0eccf7479'
'3bd322551924543553a2bf81b4419a09'
'15e8eaa4f0a9a9990277c79e243770be'
'30fa9ddf8d842b1392e8d63868940657'
'99bb9f51ec684803768f36e407baf486'
'6a6bc88f35ac8080869de39bc128ce5b'
'e793479e0b86b39ddafd328140f1a24c'
'40de3aaf7d713034e06f4eece665b1ba'
'4149c27286f110e37893d1764d4c8a68'
'39cdea1b39a1d993df6d01a576e8116f'
'd0c7198115ff028188ed1759b70fd981'
'a265dea62755caf38187114143999224'
'612a4dfb9f1a3898a1920c28bb999159'
'd0eb81aef1a21c65813fe4ddabbc4206'
'0076233a43e7edaaaf8c2abca2ada8df'
'87cbd116c75ced1b075bf266f2455d50'
'1bc70e7e3ea6a0178891d984f0451b3c')
'62d2977e57fccf1f16d7ea6bf06d3279')
_architectures="x86_64-w64-mingw32 i686-w64-mingw32"
# Helper functions for the split builds
@ -96,11 +90,8 @@ isOpenGL && conflicts+=("mingw-w64-qt5-base")
prepare() {
cd "${srcdir}/${_pkgfqn}"
# When building Qt as static library some files have a different content
# when compared to the static library. Merge those changes manually.
# This patch also applies some additional changes which are required to make
# linking against the static version of Qt work without any manual fiddling
patch -p0 -i ../qt5-merge-static-and-shared-library-trees.patch
# include fixes from MXE
patch -p1 -b -i ../qtbase-1-fixes.patch
if ! isOpenGL; then
# Add support for Angle
@ -130,12 +121,8 @@ prepare() {
# files for the debug build an unique file name
patch -p1 -i ../qt5-prevent-debug-library-names-in-pkgconfig-files.patch
# Fix qmake to create implibs with .dll.a extension for MinGW
patch -p1 -i ../qt5-qmake-implib-dll-a.patch
# As of Qt 5.4.1 the detection of the static DBus and Harfbuzz libraries got broken
# Fix the detection of the static DBus
patch -p1 -i ../qt5-fix-static-dbus-detection.patch
patch -p1 -i ../qt5-fix-static-harfbuzz-detection.patch
# Patch the win32-g++ mkspecs profile to match our environment
patch -p1 -i ../qt5-use-win32-g++-mkspecs-profile.patch
@ -169,25 +156,12 @@ prepare() {
# due to the other host-libs patches.
patch -p1 -i ../qt5-use-system-zlib-in-host-libs.patch
# Workaround a compatibility issue because we are using an older version of ANGLE in Fedora
# Upgrading the mingw-angleproject package isn't possible for now because mingw-qt5-qtwebkit doesn't support the latest ANGLE yet..
#
# /home/erik/fedora/mingw-qt5-qtbase/qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp:376:15: error: 'EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE' was not declared in this scope
# EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, EGL_NONE }
# ^
# /home/erik/fedora/mingw-qt5-qtbase/qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp:376:53: error: 'EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE' was not declared in this scope
# EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, EGL_NONE }
patch -p1 -b -i ../qt5-disable-angle-opengl-testcode.patch
patch configure ../qt5-fix-QSemaphore-problem.patch
# QTBUG-49174 Prevent warning output when QWebView loads QNetworkRequest
patch -p1 -b -i ../a91c40868bbdc1b2d2dd3b5f8b47aae9e8589a81.diff
isStatic && patch -p0 -i ../fix-static-psql-mysql.patch
# Make sure the Qt5 build system uses our external ANGLE library
rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,KHR}
rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR}
# As well as our external PCRE library and zlib
rm -rf src/3rdparty/{pcre,zlib}

View File

@ -1,16 +0,0 @@
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index c1956ae..76c2f57 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -1679,8 +1679,9 @@ void QNetworkReplyHttpImplPrivate::_q_startOperation()
#endif
} else {
#ifndef QT_NO_BEARERMANAGEMENT
- QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)),
- q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection);
+ if (session)
+ QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)),
+ q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection);
#endif
}

View File

@ -1,19 +0,0 @@
--- src.orig/3rdparty/angle/src/compiler/glslang.y 2014-01-02 11:53:56.393615041 +0100
+++ src/3rdparty/angle/src/compiler/glslang.y 2014-01-02 12:06:10.904972303 +0100
@@ -47,6 +47,7 @@ WHICH GENERATES THE GLSL ES PARSER (glsl
%pure-parser
%parse-param {TParseContext* context}
%locations
+%lex-param {YYLEX_PARAM}
%code requires {
#define YYLTYPE TSourceLoc
@@ -90,7 +91,7 @@ extern void yyerror(YYLTYPE* yylloc, TPa
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
- if (YYID(N)) { \
+ if (N) { \
(Current).first_file = YYRHSLOC(Rhs, 1).first_file; \
(Current).first_line = YYRHSLOC(Rhs, 1).first_line; \
(Current).last_file = YYRHSLOC(Rhs, N).last_file; \

View File

@ -1,22 +0,0 @@
--- qt-stable/qtbase/src/angle/src/compiler/translator_common.pro.orig 2013-06-18 08:49:51.975288500 +0000
+++ qt-stable/qtbase/src/angle/src/compiler/translator_common.pro 2013-06-18 08:50:06.047321000 +0000
@@ -92,7 +92,7 @@
$$ANGLE_DIR/src/third_party/compiler/ArrayBoundsClamper.cpp
# NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
+flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}_lex.cpp ${QMAKE_FILE_NAME}
flex.output = ${QMAKE_FILE_BASE}_lex.cpp
flex.input = FLEX_SOURCES
flex.dependency_type = TYPE_C
--- qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro.orig 2013-06-18 08:50:54.314442500 +0000
+++ qt-stable/qtbase/src/angle/src/compiler/preprocessor/preprocessor.pro 2013-06-18 08:51:52.606574000 +0000
@@ -43,7 +43,7 @@
$$ANGLE_DIR/src/compiler/preprocessor/Token.cpp
# NOTE: 'win_flex' and 'bison' can be found in qt5/gnuwin32/bin
-flex.commands = $$addGnuPath(win_flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
+flex.commands = $$addGnuPath(flex) --noline --nounistd --outfile=${QMAKE_FILE_BASE}.cpp ${QMAKE_FILE_NAME}
flex.output = ${QMAKE_FILE_BASE}.cpp
flex.input = FLEX_SOURCES
flex.dependency_type = TYPE_C

View File

@ -1,44 +0,0 @@
--- configure.orig 2014-12-05 09:24:14.000000000 -0700
+++ configure 2014-12-11 09:24:32.545799224 -0700
@@ -4765,7 +4765,7 @@
fi
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
if compileTest x11/opengl "OpenGL"; then
- CFG_OPENGL=desktop
+ CFG_OPENGL=angle
elif compileTest unix/opengles2 "OpenGL ES 2.0"; then
CFG_OPENGL=es2
else
@@ -5632,6 +5632,11 @@
QT_CONFIG="$QT_CONFIG opengles2"
fi
+if [ "$CFG_OPENGL" = "angle" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES QT_OPENGL_ES_2"
+ QT_CONFIG="$QT_CONFIG opengles2 egl angle"
+fi
+
if [ "$CFG_SHARED" = "yes" ]; then
QT_CONFIG="$QT_CONFIG shared"
QTCONFIG_CONFIG="$QTCONFIG_CONFIG shared"
@@ -6588,7 +6593,7 @@
report_support " NIS ...................." "$CFG_NIS"
report_support " OpenGL / OpenVG:"
report_support " EGL .................." "$CFG_EGL"
-report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+"
+report_support " OpenGL ..............." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.0+" angle "ANGLE"
report_support " OpenVG ..............." "$CFG_OPENVG-$CFG_OPENVG_SHIVA" yes-yes "ShivaVG" yes-no "native"
report_support " PCRE ..................." "$CFG_PCRE" yes "system library" qt "bundled copy"
if [ -n "$PKG_CONFIG" ]; then
--- src/plugins/platforms/windows/qwindowsglcontext.cpp.orig 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/qwindowsglcontext.cpp 2014-12-11 09:27:37.364281924 -0700
@@ -45,7 +45,9 @@
#include <algorithm>
#include <wingdi.h>
+#ifndef QT_OPENGL_ES_2
#include <GL/gl.h>
+#endif
// #define DEBUG_GL

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +0,0 @@
--- qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp.external_angle 2015-06-29 22:04:40.000000000 +0200
+++ qtbase-opensource-src-5.5.0/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-08-05 21:37:55.922142528 +0200
@@ -366,7 +366,7 @@
EGLDisplay display = EGL_NO_DISPLAY;
EGLint major = 0;
EGLint minor = 0;
-#ifdef EGL_ANGLE_platform_angle
+#if 0
if (libEGL.eglGetPlatformDisplayEXT
&& (preferredType & QWindowsOpenGLTester::AngleBackendMask)) {
const EGLint anglePlatformAttributes[][5] = {

View File

@ -1,10 +1,18 @@
--- qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf.orig 2013-08-01 01:21:52.461910182 +0200
+++ qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf 2013-08-01 01:22:46.777801052 +0200
--- qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf.orig
+++ qtbase-opensource-src-5.1.0/mkspecs/features/qt_app.prf
@@ -20,6 +20,7 @@
QMAKE_LFLAGS += $$QMAKE_LFLAGS_GCSECTIONS
host_build: QT -= gui # no host tool will ever use gui
+host_build: QT_CONFIG += rpath
+host_build: QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev] # force rpath
host_build:force_bootstrap {
!build_pass: CONFIG += release
contains(QT, core(-private)?|xml) {
@@ -30,7 +30,6 @@
} else {
!build_pass:contains(QT_CONFIG, debug_and_release):contains(QT_CONFIG, build_all): CONFIG += release
target.path = $$[QT_INSTALL_BINS]
- CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
}
INSTALLS += target

View File

@ -1,7 +0,0 @@
--- qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro.orig 2015-03-08 17:47:58.522991158 +0100
+++ qtbase-opensource-src-5.4.1/config.tests/unix/harfbuzz/harfbuzz.pro 2015-03-08 17:48:19.491340185 +0100
@@ -1,3 +1,3 @@
SOURCES = harfbuzz.cpp
CONFIG -= qt dylib
-LIBS += -lharfbuzz
+LIBS += -lharfbuzz -lglib-2.0 -lws2_32 -lole32 -lwinmm -lshlwapi -lintl -liconv

View File

@ -1,26 +0,0 @@
--- mkspecs/features/default_post.prf.orig 2012-09-05 23:28:56.827501401 +0200
+++ mkspecs/features/default_post.prf 2012-09-05 23:29:31.617923080 +0200
@@ -47,3 +50,8 @@
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
+
+win32:contains(CONFIG, static) {
+ DEFINES += QT_STATIC
+ QMAKE_LFLAGS += -static
+}
--- configure.orig 2012-12-10 23:51:02.920255366 +0100
+++ configure 2012-12-10 23:55:58.101753703 +0100
@@ -6193,6 +6193,12 @@
}
QT_CONFIG += $QT_CONFIG
+contains(CONFIG, static) {
+ CONFIG -= shared
+ QT_CONFIG += static jpeg gif
+ QT_CONFIG -= shared
+}
+
#versioning
QT_VERSION = $QT_VERSION
QT_MAJOR_VERSION = $QT_MAJOR_VERSION

View File

@ -1,33 +0,0 @@
--- a/qmake/generators/win32/mingw_make.cpp 2013-08-25 13:04:06.000000000 -0500
+++ b/qmake/generators/win32/mingw_make.cpp 2014-01-02 01:24:31.640046700 -0600
@@ -58,7 +58,7 @@
QString MingwMakefileGenerator::getLibTarget()
{
- return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".a");
+ return QString("lib" + project->first("TARGET") + project->first("TARGET_VERSION_EXT") + ".dll.a");
}
QString MingwMakefileGenerator::getManifestFileForRcFile() const
@@ -250,7 +250,7 @@
if(!project->first("DESTDIR").isEmpty())
destDir = Option::fixPathToTargetOS(project->first("DESTDIR") + Option::dir_sep, false, false);
project->values("MINGW_IMPORT_LIB").prepend(destDir + "lib" + project->first("TARGET")
- + project->first("TARGET_VERSION_EXT") + ".a");
+ + project->first("TARGET_VERSION_EXT") + ".dll.a");
project->values("QMAKE_LFLAGS").append(QString("-Wl,--out-implib,") + fileVar("MINGW_IMPORT_LIB"));
}
--- a/mkspecs/features/create_cmake.prf.cmake 2013-10-22 10:49:28.000000000 +0200
+++ b/mkspecs/features/create_cmake.prf 2013-10-23 21:38:02.959762089 +0200
@@ -207,8 +207,8 @@
CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl
CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl
} else {
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.dll.a
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.dll.a
}
} else {
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib

View File

@ -9,26 +9,14 @@
DESTDIR = $$QT.core.libs
CONFIG += static
--- qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf.orig 2014-04-29 18:53:49.511932034 +0200
+++ qtbase-opensource-src-5.2.1/mkspecs/features/create_cmake.prf 2014-04-29 18:54:44.515819011 +0200
@@ -203,8 +203,8 @@
CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
mingw {
- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}d.a
- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_STATIC_WINDOWS_BUILD = "true"
--- qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf.qtmain 2014-07-05 14:18:23.211155781 +0200
--- qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf.orig 2014-07-05 14:18:23.211155781 +0200
+++ qtbase-opensource-src-5.3.1/mkspecs/features/win32/windows.prf 2014-07-05 14:18:46.045390147 +0200
@@ -6,7 +6,7 @@
@@ -5,7 +5,7 @@
mingw:DEFINES += QT_NEEDS_QMAIN
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
- isEqual(entryLib, -lqtmain): {
- isEqual(entryLib, -lqtmain) {
+ isEqual(entryLib, -lqt5main): {
!contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
QMAKE_LIBS += -L$$QT.core.libs

View File

@ -1,113 +0,0 @@
--- src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-05 09:24:36.000000000 -0700
+++ src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-11 10:19:51.599972209 -0700
@@ -2,9 +2,9 @@
!!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\")
!!ELSE
-set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\")
!!ENDIF
_qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS})
--- src/gui/gui.pro 2014-12-05 09:24:35.000000000 -0700
+++ src/gui/gui.pro 2014-12-11 10:22:37.644366784 -0700
@@ -17,12 +17,6 @@
imageformats \
egldeviceintegrations
-# This is here only because the platform plugin is no module, obviously.
-win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
- MODULE_AUX_INCLUDES = \
- \$\$QT_MODULE_INCLUDE_BASE/QtANGLE
-}
-
load(qt_module)
# Code coverage with TestCocoon
@@ -33,6 +27,10 @@
mac:!ios: LIBS_PRIVATE += -framework Cocoa
+win32:contains(QT_CONFIG, angle) {
+ LIBS_PRIVATE += -lGLESv2
+}
+
CONFIG += simd optimize_full
include(accessible/accessible.pri)
@@ -55,13 +53,21 @@
contains(QT_CONFIG, angle) {
CMAKE_GL_INCDIRS = $$CMAKE_INCLUDE_DIR
CMAKE_ANGLE_EGL_DLL_RELEASE = libEGL.dll
- CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
CMAKE_ANGLE_GLES2_DLL_RELEASE = libGLESv2.dll
- CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
CMAKE_ANGLE_EGL_DLL_DEBUG = libEGLd.dll
- CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
CMAKE_ANGLE_GLES2_DLL_DEBUG = libGLESv2d.dll
- CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
+
+ win32-g++* {
+ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.dll.a
+ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.dll.a
+ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.dll.a
+ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.dll.a
+ } else {
+ CMAKE_ANGLE_EGL_IMPLIB_RELEASE = libEGL.lib
+ CMAKE_ANGLE_GLES2_IMPLIB_RELEASE = libGLESv2.lib
+ CMAKE_ANGLE_EGL_IMPLIB_DEBUG = libEGLd.lib
+ CMAKE_ANGLE_GLES2_IMPLIB_DEBUG = libGLESv2d.lib
+ }
CMAKE_QT_OPENGL_IMPLEMENTATION = GLESv2
} else {
--- src/opengl/opengl.pro 2014-12-05 09:24:31.000000000 -0700
+++ src/opengl/opengl.pro 2014-12-11 10:15:45.884805707 -0700
@@ -13,6 +13,10 @@
contains(QT_CONFIG, opengl):CONFIG += opengl
contains(QT_CONFIG, opengles2):CONFIG += opengles2
+win32:contains(QT_CONFIG, angle) {
+ LIBS_PRIVATE += -lGLESv2
+}
+
HEADERS += qgl.h \
qgl_p.h \
qglcolormap.h \
--- src/plugins/platforms/windows/windows.pri 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/windows.pri 2014-12-11 10:13:45.228261276 -0700
@@ -3,6 +3,7 @@
!wince: LIBS *= -luser32 -lwinspool -limm32 -lwinmm -loleaut32
contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles2):!contains(QT_CONFIG, dynamicgl): LIBS *= -lopengl32
+contains(QT_CONFIG, angle):LIBS += -lGLESv2 -lEGL
mingw: LIBS *= -luuid
# For the dialog helpers:
--- src/src.pro 2014-12-05 09:24:31.000000000 -0700
+++ src/src.pro 2014-12-11 10:06:14.882845813 -0700
@@ -155,10 +155,6 @@
SUBDIRS += src_3rdparty_harfbuzzng
src_gui.depends += src_3rdparty_harfbuzzng
}
- win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) {
- SUBDIRS += src_angle
- src_gui.depends += src_angle
- }
contains(QT_CONFIG, freetype) {
SUBDIRS += src_3rdparty_freetype
src_platformsupport.depends += src_3rdparty_freetype
--- src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-05 09:24:37.000000000 -0700
+++ src/plugins/platforms/windows/qwindowseglcontext.cpp 2014-12-11 20:07:27.099190408 -0700
@@ -39,7 +39,7 @@
#include <QtGui/QOpenGLContext>
#if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
-# include <QtANGLE/EGL/eglext.h>
+# include <EGL/eglext.h>
#endif
QT_BEGIN_NAMESPACE

View File

@ -22,8 +22,8 @@
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
@@ -84,21 +84,26 @@
QMAKE_EXTENSION_STATICLIB = a
@@ -94,21 +94,26 @@
QMAKE_LIB_EXTENSIONS = a dll.a
QMAKE_LIBS =
-QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
@ -33,17 +33,18 @@
+QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng -lharfbuzz -lglib-2.0 -lintl -lwinmm
+QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2 = -llibEGL -llibGLESv2 -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -llibEGLd -llibGLESv2d -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 -ld3d9 -ldxguid -lgdi32 -luser32
+QMAKE_LIBS_OPENGL_ES2_DEBUG = $(QMAKE_LIBS_OPENGL_ES2)
-QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -lgdi32 -luser32
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d -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 = midl
-QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+QMAKE_IDL = $${CROSS_COMPILE}widl
QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+QMAKE_LIB = $${CROSS_COMPILE}ar -rc
QMAKE_RC = $${CROSS_COMPILE}windres
+QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool
+QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5

View File

@ -221,27 +221,3 @@ index d2358ca..6b1dc95 100644
--
2.5.0
From e74803bac8aa2fd2106f678b2b11584fdb582bc3 Mon Sep 17 00:00:00 2001
From: Boris Pek <tehnick-8@yandex.ru>
Date: Wed, 24 Feb 2016 19:39:46 +0300
Subject: [PATCH 8/8] Fix ar error: `u' modifier ignored since `D' is the
default (see `U')
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 61963c7..25cf750 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -104,7 +104,7 @@ QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2
QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
QMAKE_IDL = midl
-QMAKE_LIB = $${CROSS_COMPILE}ar -ru
+QMAKE_LIB = $${CROSS_COMPILE}ar -rc
QMAKE_RC = $${CROSS_COMPILE}windres
QMAKE_STRIP = $${CROSS_COMPILE}strip
--
2.5.0

View File

@ -53,18 +53,7 @@ diff -U 3 -r a/src/opengl/opengl.pro b/src/opengl/opengl.pro
HEADERS += qgl.h \
qgl_p.h \
diff -U 3 -r a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp
--- a/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-06-29 14:04:40.000000000 -0600
+++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp 2015-07-18 10:52:29.667410627 -0600
@@ -39,7 +39,7 @@
#include <QtGui/QOpenGLContext>
#if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC)
-# include <QtANGLE/EGL/eglext.h>
+# include <EGL/eglext.h>
#endif
QT_BEGIN_NAMESPACE
diff -U 3 -r a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
--- a/src/plugins/platforms/windows/windows.pri 2015-06-29 14:04:40.000000000 -0600
+++ b/src/plugins/platforms/windows/windows.pri 2015-07-18 10:53:45.585348009 -0600