comparison src/qtbase-1-fixes.patch @ 4735:4cea16af20b4

qt5: update to v5.11.0, add support pcre2 * src/qtbase.mk: update version, checksum * src/qtimageformats.mk: update checksum * src/qtisvg.mk: update checksum * src/qttools.mk: update checksum * src/qtbase-1-fixes.patch, src/qttools-1.patch: update patch from mxe.cc * src/pcre2.mk: new file * index.html: add pcre2 * src/sqlite.mk: enable column metadata
author John Donoghue
date Fri, 22 Jun 2018 08:28:05 -0400
parents 2c34ec679fb3
children 206f76f1b59c
comparison
equal deleted inserted replaced
4732:a492f79fd69a 4735:4cea16af20b4
1 This file is part of MXE. See LICENSE.md for licensing information. 1 This file is part of MXE. See LICENSE.md for licensing information.
2 2
3 From 62efa18a61560a7757acffbd4ac6ca7b153155cc Mon Sep 17 00:00:00 2001 3 Contains ad hoc patches for cross building.
4 From: Mark Brand <mabrand@mabrand.nl> 4
5 Date: Thu, 6 Aug 2015 23:35:08 +0200 5 From ec06a0993dd7ceae8002852646dc1826111a1882 Mon Sep 17 00:00:00 2001
6 Subject: [PATCH 1/8] fix qwindows plugin linking with system-freetype (MXE
7 specific)
8
9 Change-Id: I8783e3ab2d19011b083dd3c471107298a17293c4
10
11 diff --git a/src/3rdparty/freetype_dependency.pri b/src/3rdparty/freetype_dependency.pri
12 index 39280de..e152b0d 100644
13 --- a/src/3rdparty/freetype_dependency.pri
14 +++ b/src/3rdparty/freetype_dependency.pri
15 @@ -4,4 +4,5 @@ contains(QT_CONFIG, freetype) {
16 } else:contains(QT_CONFIG, system-freetype) {
17 # pull in the proper freetype2 include directory
18 include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri)
19 + win32:shared:LIBS_PRIVATE += -lfreetype
20 }
21 --
22 2.9.3
23
24
25 From 5a15e0374758b7786204d98b66f49b4fd3daea79 Mon Sep 17 00:00:00 2001
26 From: Mark Brand <mabrand@mabrand.nl>
27 Date: Sat, 21 Jun 2014 13:12:49 +0200
28 Subject: [PATCH 2/8] use pkg-config for harfbuzz (MXE specific)
29
30 Change-Id: Id4e4c37d68b63c9f480d72a561d95d4d2a5ded50
31
32 diff --git a/config.tests/unix/harfbuzz/harfbuzz.pro b/config.tests/unix/harfbuzz/harfbuzz.pro
33 index 32edd6e..a7f2c28 100644
34 --- a/config.tests/unix/harfbuzz/harfbuzz.pro
35 +++ b/config.tests/unix/harfbuzz/harfbuzz.pro
36 @@ -1,3 +1,4 @@
37 SOURCES = harfbuzz.cpp
38 CONFIG -= qt dylib
39 -LIBS += -lharfbuzz
40 +CONFIG += link_pkgconfig
41 +PKGCONFIG += harfbuzz
42 diff --git a/src/3rdparty/harfbuzz_dependency.pri b/src/3rdparty/harfbuzz_dependency.pri
43 index 7443368..c24e684 100644
44 --- a/src/3rdparty/harfbuzz_dependency.pri
45 +++ b/src/3rdparty/harfbuzz_dependency.pri
46 @@ -2,5 +2,6 @@ contains(QT_CONFIG, harfbuzz) {
47 INCLUDEPATH += $$PWD/harfbuzz-ng/include
48 LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtharfbuzzng$$qtPlatformTargetSuffix()
49 } else:contains(QT_CONFIG, system-harfbuzz) {
50 - LIBS_PRIVATE += -lharfbuzz
51 + CONFIG += link_pkgconfig
52 + PKGCONFIG += harfbuzz
53 }
54 --
55 2.9.3
56
57
58 From bc002ee2a8418c7afcba362d155ba1a591bc3d1a Mon Sep 17 00:00:00 2001
59 From: Mark Brand <mabrand@mabrand.nl>
60 Date: Mon, 8 Dec 2014 14:15:12 +0100
61 Subject: [PATCH 3/8] fix oci config test on windows
62
63 Change-Id: If1ce2241682259ca495b0ba68bf18410f8548922
64
65 diff --git a/config.tests/unix/oci/oci.pro b/config.tests/unix/oci/oci.pro
66 index 3ffda1d..39b6f3759 100644
67 --- a/config.tests/unix/oci/oci.pro
68 +++ b/config.tests/unix/oci/oci.pro
69 @@ -1,3 +1,3 @@
70 SOURCES = oci.cpp
71 CONFIG -= qt dylib
72 -LIBS += -lclntsh
73 +!win32:LIBS += -lclntsh
74 --
75 2.9.3
76
77
78 From 92d2ae7b6eb175b4f15e5f0f231a9c29824d6f57 Mon Sep 17 00:00:00 2001
79 From: Mark Brand <mabrand@mabrand.nl>
80 Date: Thu, 6 Aug 2015 13:24:56 +0200
81 Subject: [PATCH 4/8] configure: don't set QT_NO_SYSTEMSEMAPHORE for Windows
82
83 Change-Id: I53c110ef40e3d14cc49fa23aa5d294611cac2ffa
84
85 diff --git a/configure b/configure
86 index ba94d08..50e6dfb 100755
87 --- a/configure
88 +++ b/configure
89 @@ -4677,7 +4677,7 @@ fi
90 [ "$XPLATFORM_ANDROID" != "no" ] && QMakeVar add styles "android"
91
92 # check IPC support
93 -if ! compileTest unix/ipc_sysv "ipc_sysv" ; then
94 +if [ "$XPLATFORM_MINGW" = "no" ] && ! compileTest unix/ipc_sysv "ipc_sysv" ; then
95 # SYSV IPC is not supported - check POSIX IPC
96 if compileTest unix/ipc_posix "ipc_posix" ; then
97 QCONFIG_FLAGS="$QCONFIG_FLAGS QT_POSIX_IPC"
98 --
99 2.9.3
100
101
102 From f0054e940467a64dffc0c3cc070233fdf2848d43 Mon Sep 17 00:00:00 2001
103 From: Mark Brand <mabrand@mabrand.nl>
104 Date: Tue, 6 Oct 2015 09:53:20 +0200
105 Subject: [PATCH 5/8] fix building mysql driver under mingw
106
107 Change-Id: I9c4e821d5b3a6919566c6b684cb4916827feb6a9
108
109 diff --git a/src/sql/drivers/mysql/qsql_mysql.pri b/src/sql/drivers/mysql/qsql_mysql.pri
110 index 3cfb614..8b7063f 100644
111 --- a/src/sql/drivers/mysql/qsql_mysql.pri
112 +++ b/src/sql/drivers/mysql/qsql_mysql.pri
113 @@ -4,7 +4,7 @@ SOURCES += $$PWD/qsql_mysql.cpp
114 QMAKE_CXXFLAGS *= $$QT_CFLAGS_MYSQL
115 LIBS += $$QT_LFLAGS_MYSQL
116
117 -unix {
118 +if (unix|mingw) {
119 isEmpty(QT_LFLAGS_MYSQL) {
120 !contains(LIBS, .*mysqlclient.*):!contains(LIBS, .*mysqld.*) {
121 use_libmysqlclient_r:LIBS += -lmysqlclient_r
122 --
123 2.9.3
124
125
126 From 26229596fbb711bc222c831eca3a9e5b62c7acc6 Mon Sep 17 00:00:00 2001
127 From: Ray Donnelly <mingw.android@gmail.com> 6 From: Ray Donnelly <mingw.android@gmail.com>
128 Date: Wed, 26 Aug 2015 12:45:43 +0100 7 Date: Wed, 26 Aug 2015 12:45:43 +0100
129 Subject: [PATCH 6/8] cmake: Rearrange STATIC vs INTERFACE targets 8 Subject: [PATCH 1/8] cmake: Rearrange STATIC vs INTERFACE targets
130 9
131 Otherwise we attempt to add_library(Qt5::UiPlugin STATIC IMPORTED) 10 Otherwise we attempt to add_library(Qt5::UiPlugin STATIC IMPORTED)
132 for header-only modules when building Qt5 statically. 11 for header-only modules when building Qt5 statically.
133 12
134 Source: https://git.io/vzWJz 13 Source: https://git.io/vzWJz
135 See also: https://github.com/mxe/mxe/issues/1185 14 See also: https://github.com/mxe/mxe/issues/1185
136 15
137 diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 16 diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
138 index d2358ca..6b1dc95 100644 17 index 27f4c277d6..84ff9ae0ef 100644
139 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 18 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
140 +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 19 +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
141 @@ -222,13 +222,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 20 @@ -214,12 +214,12 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
142 endif() 21 list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\")
143 !!ENDIF 22 !!ENDIF
144 23
145 +!!IF equals(TEMPLATE, aux) 24 +!!IF equals(TEMPLATE, aux)
146 + add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) 25 + add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
147 +!!ELSE 26 +!!ELSE
148 !!IF !isEmpty(CMAKE_STATIC_TYPE) 27 !!IF !isEmpty(CMAKE_STATIC_TYPE)
149 add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) 28 add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
150 set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") 29 set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
151 !!ELSE 30 -!!ELSE
152 -!!IF equals(TEMPLATE, aux) 31 -!!IF equals(TEMPLATE, aux)
153 - add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) 32 - add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
154 -!!ELSE 33 !!ELSE
155 add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED) 34 add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
156 !!ENDIF 35 !!ENDIF
157 !!ENDIF 36 --
158 -- 37 2.17.0
159 2.9.3 38
160 39
161 40 From dad81660aaf6e7bd011b3541e9ab9a0a27120973 Mon Sep 17 00:00:00 2001
162 From 59fd7fdff5bf0cda3c7a11982ee96f50d8eddec1 Mon Sep 17 00:00:00 2001
163 From: Tony Theodore <tonyt@logyst.com> 41 From: Tony Theodore <tonyt@logyst.com>
164 Date: Sat, 16 Jul 2016 20:31:07 +1000 42 Date: Sat, 16 Jul 2016 20:31:07 +1000
165 Subject: [PATCH 7/8] Fix pkgconfig file and library naming 43 Subject: [PATCH 2/8] Fix pkgconfig file and library naming
166 44
167 See: https://codereview.qt-project.org/#/c/165394/ 45 See: https://codereview.qt-project.org/#/c/165394/
168 https://bugreports.qt.io/browse/QTBUG-30898 46 https://bugreports.qt.io/browse/QTBUG-30898
169 47
170 Currently, *.pc files are generated with debug suffix `d` in `-release` 48 Currently, *.pc files are generated with debug suffix `d` in `-release`
185 63
186 Task-number: 30898 64 Task-number: 30898
187 Change-Id: If75336ec7d21a7ec0cb6d245fe87c64afcb5a644 65 Change-Id: If75336ec7d21a7ec0cb6d245fe87c64afcb5a644
188 66
189 diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf 67 diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
190 index d9011f5..1993a7f 100644 68 index f8729de947..e7f6e3651d 100644
191 --- a/mkspecs/features/qt_module.prf 69 --- a/mkspecs/features/qt_module.prf
192 +++ b/mkspecs/features/qt_module.prf 70 +++ b/mkspecs/features/qt_module.prf
193 @@ -244,6 +244,10 @@ load(qt_installs) 71 @@ -264,6 +264,10 @@ load(qt_installs)
194 72
195 load(qt_targets) 73 load(qt_targets)
196 74
197 +# Set TARGET towards the end but before pkgconfig setup to keep naming 75 +# Set TARGET towards the end but before pkgconfig setup to keep naming
198 +# conventions consistent with *prl files 76 +# conventions consistent with *prl files
199 +TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX) 77 +TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX)
200 + 78 +
201 # this builds on top of qt_common 79 # this builds on top of qt_common
202 !internal_module:!lib_bundle:if(unix|mingw) { 80 !internal_module:!lib_bundle:if(unix|mingw) {
203 CONFIG += create_pc 81 CONFIG += create_pc
204 @@ -254,12 +258,12 @@ load(qt_targets) 82 @@ -274,12 +278,12 @@ load(qt_targets)
205 QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw] 83 QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw]
206 QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] 84 QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
207 QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME 85 QMAKE_PKGCONFIG_CFLAGS = -D$$MODULE_DEFINE -I${includedir}/$$MODULE_INCNAME
208 - QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ") 86 - QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
209 - QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION) 87 - QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)
210 + QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt$$QT_MAJOR_VERSION ") 88 + QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt$$QT_MAJOR_VERSION ")
211 + QMAKE_PKGCONFIG_FILE = $$TARGET 89 + QMAKE_PKGCONFIG_FILE = $$TARGET
212 for(i, MODULE_DEPENDS): \ 90 for(i, MODULE_DEPENDS): \
213 - QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION)) 91 - QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))
214 + QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))$$qtPlatformTargetSuffix() 92 + QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))$$qtPlatformTargetSuffix()
215 isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \ 93 isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
216 - QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module 94 - QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
217 + QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt ") module 95 + QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt$$QT_MAJOR_VERSION, "Qt ") module
218 pclib_replace.match = $$lib_replace.match 96 pclib_replace.match = $$lib_replace.match
219 !isEmpty(lib_replace.replace): \ 97 !isEmpty(lib_replace.replace): \
220 pclib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR 98 pclib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR
221 @@ -293,5 +297,3 @@ win32 { 99 @@ -313,5 +317,3 @@ win32 {
222 # On other platforms, Qt's own compilation goes needs to compile the Qt 5.0 API 100 # On other platforms, Qt's own compilation goes needs to compile the Qt 5.0 API
223 DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x050000 101 DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x050000
224 } 102 }
225 - 103 -
226 -TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX) # Do this towards the end 104 -TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX) # Do this towards the end
227 -- 105 --
228 2.9.3 106 2.17.0
229 107
230 108
231 From a2ed2c9fe74b549cb163f89a56df6eec3af553fa Mon Sep 17 00:00:00 2001 109 From 69740750f7905baa5c66e48bad22e39b5e07ca72 Mon Sep 17 00:00:00 2001
232 From: Mark Brand <mabrand@mabrand.nl> 110 From: Mark Brand <mabrand@mabrand.nl>
233 Date: Thu, 15 Dec 2016 17:20:56 +0100 111 Date: Sun, 29 Jan 2017 13:02:16 +0100
234 Subject: [PATCH 8/8] fix mysql config test 112 Subject: [PATCH 3/8] reenable fontconfig for win32 (MXE-specific)
235 113
236 The config test already gets link flags which should include 114 Change-Id: I05b036366bd402e43309742412bcf8ca91fe125f
237 the library. Blindly adding it to the end of the list can break 115
238 static linking. 116 diff --git a/src/gui/configure.json b/src/gui/configure.json
239 117 index 219385a108..eee90b5b20 100644
240 Change-Id: Ief71c4ad64cbbb1b141b0ef5549f42a36bbd125b 118 --- a/src/gui/configure.json
241 119 +++ b/src/gui/configure.json
242 diff --git a/config.tests/unix/mysql/mysql.pro b/config.tests/unix/mysql/mysql.pro 120 @@ -973,7 +973,7 @@
243 index 06d1880..ca6d6aa 100644 121 "fontconfig": {
244 --- a/config.tests/unix/mysql/mysql.pro 122 "label": "Fontconfig",
245 +++ b/config.tests/unix/mysql/mysql.pro 123 "autoDetect": "!config.darwin",
246 @@ -1,3 +1,3 @@ 124 - "condition": "!config.win32 && features.system-freetype && libs.fontconfig",
247 SOURCES = mysql.cpp 125 + "condition": "features.system-freetype && libs.fontconfig",
248 CONFIG -= qt dylib 126 "output": [ "privateFeature", "feature" ]
249 -LIBS += -lmysqlclient 127 },
250 +LIBS *= -lmysqlclient 128 "gbm": {
251 -- 129 diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp
252 2.9.3 130 index 0c04608fca..a26e02fbf3 100644
253 131 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp
132 +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp
133 @@ -161,7 +161,11 @@ QPlatformFontDatabase *QMinimalIntegration::fontDatabase() const
134
135 if (!m_fontDatabase) {
136 #if QT_CONFIG(fontconfig)
137 - m_fontDatabase = new QGenericUnixFontDatabase;
138 +#ifdef Q_OS_WIN
139 + m_fontDatabase = new QFreeTypeFontDatabase;
140 +#else
141 + m_fontDatabase = new QGenericUnixFontDatabase;
142 +#endif
143 #else
144 m_fontDatabase = QPlatformIntegration::fontDatabase();
145 #endif
146 --
147 2.17.0
148
149
150 From e28fcb374385d6dfb29a6c99bea283a4fbc894a7 Mon Sep 17 00:00:00 2001
151 From: Mark Brand <mabrand@mabrand.nl>
152 Date: Sun, 29 Jan 2017 16:22:03 +0100
153 Subject: [PATCH 4/8] fix treatment of SYBASE_LIBS
154
155 Change-Id: I4c9914cf7ef9d91feb0718a57f2551c1eeed47e0
156
157 diff --git a/src/plugins/sqldrivers/configure.pri b/src/plugins/sqldrivers/configure.pri
158 index b69b51b679..d37423adbd 100644
159 --- a/src/plugins/sqldrivers/configure.pri
160 +++ b/src/plugins/sqldrivers/configure.pri
161 @@ -92,7 +92,7 @@ defineTest(qtConfLibrary_sybaseEnv) {
162 libs += "-L$${sybase}/lib"
163 libs += $$getenv(SYBASE_LIBS)
164 !isEmpty(libs) {
165 - $${1}.libs = "$$val_escape(libs)"
166 + $${1}.libs = $$libs
167 export($${1}.libs)
168 }
169 return(true)
170 --
171 2.17.0
172
173
174 From ef350f7199772d5846a1f6f9214e8d562183f393 Mon Sep 17 00:00:00 2001
175 From: Mark Brand <mabrand@mabrand.nl>
176 Date: Sun, 11 Jun 2017 00:27:41 +0200
177 Subject: [PATCH 5/8] use pkg-config for harfbuzz
178
179 Change-Id: Ia65cbb90fd180f1bc10ce077a9a8323a48e51421
180
181 diff --git a/src/gui/configure.json b/src/gui/configure.json
182 index eee90b5b20..6c6745b1dd 100644
183 --- a/src/gui/configure.json
184 +++ b/src/gui/configure.json
185 @@ -215,7 +215,8 @@
186 ]
187 },
188 "sources": [
189 - "-lharfbuzz"
190 + { "type": "pkgConfig", "args": "harfbuzz" },
191 + "-lharfbuzz"
192 ]
193 },
194 "imf": {
195 --
196 2.17.0
197
198
199 From 65353949d9a7f6bbdcd5ddabf09ac3e5357eac1d Mon Sep 17 00:00:00 2001
200 From: Mark Brand <mabrand@mabrand.nl>
201 Date: Thu, 23 Nov 2017 11:28:47 +0200
202 Subject: [PATCH 6/8] disable qt_random_cpu for i686-w64-mingw32
203
204 Workaround for gcc internal error compiling for mingw32:
205 global/qrandom.cpp: In function 'qsizetype qt_random_cpu(void*, qsizetype)':
206 global/qrandom.cpp:123:1: internal compiler error: in
207 ix86_compute_frame_layout, at config/i386/i386.c:10145
208 }
209 ^
210
211 global/qrandom.cpp:123:1: internal compiler error: Segmentation fault
212 i686-w64-mingw32.static-g++: internal compiler error: Segmentation fault
213 (program cc1plus)
214
215 Based on https://codereview.qt-project.org/#/c/212360/
216
217 Change-Id: Ia1c902e7b147bdda2b8d7904b40a3b968b8d0369
218
219 diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
220 index ebf9864b15..9a31933975 100644
221 --- a/src/corelib/global/qrandom.cpp
222 +++ b/src/corelib/global/qrandom.cpp
223 @@ -90,7 +90,7 @@ DECLSPEC_IMPORT BOOLEAN WINAPI SystemFunction036(PVOID RandomBuffer, ULONG Rando
224
225 QT_BEGIN_NAMESPACE
226
227 -#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
228 +#if defined(Q_PROCESSOR_X86) && !defined(Q_PROCESSOR_X86_32) && QT_COMPILER_SUPPORTS_HERE(RDRND)
229 static qsizetype qt_random_cpu(void *buffer, qsizetype count) Q_DECL_NOTHROW;
230
231 # ifdef Q_PROCESSOR_X86_64
232 --
233 2.17.0
234
235
236 From 84cf457b4bc814fb82b08e0917b09397bbf9ec1a Mon Sep 17 00:00:00 2001
237 From: Thiago Macieira <thiago.macieira@intel.com>
238 Date: Tue, 8 May 2018 21:57:07 -0700
239 Subject: [PATCH 7/8] Fix build with GCC 8: memset/memcpy/memmove of
240 non-trivials
241 MIME-Version: 1.0
242 Content-Type: text/plain; charset=UTF-8
243 Content-Transfer-Encoding: 8bit
244
245 qarraydataops.h:73:17: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type
246 ‘struct TCBPoint’; use assignment or value-initialization instead [-Werror=class-memaccess]
247
248 Change-Id: I5d0ee9389a794d80983efffd152ce10eb557341f
249 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
250
251 diff --git a/src/corelib/tools/qarraydataops.h b/src/corelib/tools/qarraydataops.h
252 index d0f83d2b6a..7e1b43f9b1 100644
253 --- a/src/corelib/tools/qarraydataops.h
254 +++ b/src/corelib/tools/qarraydataops.h
255 @@ -65,7 +65,7 @@ struct QPodArrayOps
256 Q_ASSERT(newSize > uint(this->size));
257 Q_ASSERT(newSize <= this->alloc);
258
259 - ::memset(this->end(), 0, (newSize - this->size) * sizeof(T));
260 + ::memset(static_cast<void *>(this->end()), 0, (newSize - this->size) * sizeof(T));
261 this->size = int(newSize);
262 }
263
264 @@ -121,8 +121,9 @@ struct QPodArrayOps
265 Q_ASSERT(e <= where || b > this->end()); // No overlap
266 Q_ASSERT(size_t(e - b) <= this->alloc - uint(this->size));
267
268 - ::memmove(where + (e - b), where, (static_cast<const T*>(this->end()) - where) * sizeof(T));
269 - ::memcpy(where, b, (e - b) * sizeof(T));
270 + ::memmove(static_cast<void *>(where + (e - b)), static_cast<void *>(where),
271 + (static_cast<const T*>(this->end()) - where) * sizeof(T));
272 + ::memcpy(static_cast<void *>(where), static_cast<const void *>(b), (e - b) * sizeof(T));
273 this->size += (e - b);
274 }
275
276 @@ -133,7 +134,8 @@ struct QPodArrayOps
277 Q_ASSERT(b >= this->begin() && b < this->end());
278 Q_ASSERT(e > this->begin() && e < this->end());
279
280 - ::memmove(b, e, (static_cast<T *>(this->end()) - e) * sizeof(T));
281 + ::memmove(static_cast<void *>(b), static_cast<void *>(e),
282 + (static_cast<T *>(this->end()) - e) * sizeof(T));
283 this->size -= (e - b);
284 }
285 };
286 --
287 2.17.0
288
289
290 From 77082d00f719fc72daa85ad2a59f3f395201ba6a Mon Sep 17 00:00:00 2001
291 From: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
292 Date: Mon, 9 Apr 2018 18:34:18 +0200
293 Subject: [PATCH 8/8] qmake: fix look-up of relative files from .depend_command
294 in shadow builds
295
296 the dependency paths are fixified against the output directory, so we
297 must resolve them accordingly.
298
299 Change-Id: Id92750aad358153bd2db5daca3194c54eda58dbb
300 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
301 (cherry picked from commit 75587c8030ff8057b90200cb20cff1e4549c00b5)
302
303 diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
304 index 82573347b6..99aecdd8ce 100644
305 --- a/qmake/generators/makefile.cpp
306 +++ b/qmake/generators/makefile.cpp
307 @@ -1953,11 +1953,12 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
308 }
309 QT_PCLOSE(proc);
310 if(!indeps.isEmpty()) {
311 + QDir outDir(Option::output_dir);
312 // ### This is basically fubar. Add 'lines' flag to CONFIG?
313 QStringList dep_cmd_deps = indeps.replace('\n', ' ').simplified().split(' ');
314 for(int i = 0; i < dep_cmd_deps.count(); ++i) {
315 QString &file = dep_cmd_deps[i];
316 - QString absFile = QDir(Option::output_dir).absoluteFilePath(file);
317 + QString absFile = outDir.absoluteFilePath(file);
318 if (exists(absFile)) {
319 file = absFile;
320 } else {
321 @@ -1965,8 +1966,9 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
322 QList<QMakeLocalFileName> depdirs = QMakeSourceFileInfo::dependencyPaths();
323 for (QList<QMakeLocalFileName>::Iterator dit = depdirs.begin();
324 dit != depdirs.end(); ++dit) {
325 - if (exists((*dit).local() + '/' + file)) {
326 - localFile = (*dit).local() + '/' + file;
327 + QString lf = outDir.absoluteFilePath((*dit).local() + '/' + file);
328 + if (exists(lf)) {
329 + localFile = lf;
330 break;
331 }
332 }
333 @@ -2045,11 +2047,12 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
334 }
335 QT_PCLOSE(proc);
336 if(!indeps.isEmpty()) {
337 + QDir outDir(Option::output_dir);
338 // ### This is basically fubar. Add 'lines' flag to CONFIG?
339 QStringList dep_cmd_deps = indeps.replace('\n', ' ').simplified().split(' ');
340 for(int i = 0; i < dep_cmd_deps.count(); ++i) {
341 QString &file = dep_cmd_deps[i];
342 - QString absFile = QDir(Option::output_dir).absoluteFilePath(file);
343 + QString absFile = outDir.absoluteFilePath(file);
344 if (exists(absFile)) {
345 file = absFile;
346 } else {
347 @@ -2057,8 +2060,9 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
348 QList<QMakeLocalFileName> depdirs = QMakeSourceFileInfo::dependencyPaths();
349 for (QList<QMakeLocalFileName>::Iterator dit = depdirs.begin();
350 dit != depdirs.end(); ++dit) {
351 - if (exists((*dit).local() + '/' + file)) {
352 - localFile = (*dit).local() + '/' + file;
353 + QString lf = outDir.absoluteFilePath((*dit).local() + '/' + file);
354 + if (exists(lf)) {
355 + localFile = lf;
356 break;
357 }
358 }
359 --
360 2.17.0
361
362 diff -ur qtbase-everywhere-src-5.11.0.orig/mkspecs/common/gcc-base.conf qtbase-everywhere-src-5.11.0/mkspecs/common/gcc-base.conf
363 --- qtbase-everywhere-src-5.11.0.orig/mkspecs/common/gcc-base.conf 2018-06-12 07:47:54.488874295 -0400
364 +++ qtbase-everywhere-src-5.11.0/mkspecs/common/gcc-base.conf 2018-06-12 07:48:46.550096817 -0400
365 @@ -46,7 +46,7 @@
366 QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC
367 QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC
368 QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC
369 -QMAKE_CFLAGS_ISYSTEM = -isystem
370 +QMAKE_CFLAGS_ISYSTEM = -I
371 QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
372 QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
373 QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions