summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-03-13 09:50:43 +0100
committerUlf Hermann <ulf.hermann@qt.io>2017-03-13 15:55:44 +0100
commitd51c3ecf8ef6e28557c66745f50a223cc5b1ce54 (patch)
tree023a1ecaa944152e08ba11291ec7aadc12f59dad /mkspecs/features
parentf06f1adb6cc3835793a15eafa2d5a3affad712a2 (diff)
parent3a1f4b186d8ce79717da37f808ff9a4b3e949d9c (diff)
Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts: examples/network/network.pro mkspecs/features/mac/default_post.prf src/corelib/io/qfilesystemengine_win.cpp src/corelib/io/qprocess.cpp src/corelib/io/qprocess.h src/corelib/io/qprocess_p.h src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/corelib/thread/qmutex.cpp src/platformsupport/fontdatabases/windows/windows.pri src/plugins/platforms/eglfs/eglfsdeviceintegration.pro tests/auto/corelib/io/io.pro Change-Id: I8a27e0e141454818bba9c433200a4e84a88d147e
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/mac/default_post.prf5
-rw-r--r--mkspecs/features/qt_configure.prf29
-rw-r--r--mkspecs/features/qt_module_headers.prf2
-rw-r--r--mkspecs/features/uikit/bitcode.prf10
4 files changed, 28 insertions, 18 deletions
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
index 3a1f7584b7..cb8543254a 100644
--- a/mkspecs/features/mac/default_post.prf
+++ b/mkspecs/features/mac/default_post.prf
@@ -32,6 +32,11 @@ qt {
equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
}
+# Don't pass -headerpad_max_install_names when using Bitcode.
+# In that case the linker emits a warning stating that the flag is ignored when
+# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
+# Using this flag is also unnecessary in practice on UIKit platforms since they
+# are sandboxed, and only UIKit platforms support bitcode to begin with.
!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
app_extension_api_only {
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index e2e1a5a762..2b3faeb21b 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -125,7 +125,8 @@ defineTest(qtConfValidateValue) {
defineTest(qtConfCommandline_string) {
opt = $${1}
val = $${2}
- isEmpty(val): val = $$qtConfGetNextCommandlineArg()
+ nextok = $${3}
+ isEmpty(val):$$nextok: val = $$qtConfGetNextCommandlineArg()
# Note: Arguments which are variable assignments are legit here.
contains(val, "^-.*")|isEmpty(val) {
@@ -142,9 +143,10 @@ defineTest(qtConfCommandline_string) {
defineTest(qtConfCommandline_optionalString) {
opt = $${1}
val = $${2}
+ nextok = $${3}
isEmpty(val) {
- v = $$qtConfPeekNextCommandlineArg()
- contains(v, "^-.*|[A-Z_]+=.*")|isEmpty(v): \
+ $$nextok: val = $$qtConfPeekNextCommandlineArg()
+ contains(val, "^-.*|[A-Z_]+=.*")|isEmpty(val): \
val = "yes"
else: \
val = $$qtConfGetNextCommandlineArg()
@@ -160,7 +162,8 @@ defineTest(qtConfCommandline_optionalString) {
defineTest(qtConfCommandline_addString) {
opt = $${1}
val = $${2}
- isEmpty(val): val = $$qtConfGetNextCommandlineArg()
+ nextok = $${3}
+ isEmpty(val):$$nextok: val = $$qtConfGetNextCommandlineArg()
# Note: Arguments which are variable assignments are legit here.
contains(val, "^-.*")|isEmpty(val) {
@@ -236,6 +239,7 @@ defineTest(qtConfParseCommandLine) {
}
# parse out opt and val
+ nextok = false
contains(c, "^--?enable-(.*)") {
opt = $$replace(c, "^--?enable-(.*)", "\\1")
val = yes
@@ -247,10 +251,11 @@ defineTest(qtConfParseCommandLine) {
val = $$replace(c, "^--([^=]+)=(.*)", "\\2")
} else: contains(c, "^--(.*)") {
opt = $$replace(c, "^--(.*)", "\\1")
- val = yes
+ val =
} else: contains(c, "^-(.*)") {
opt = $$replace(c, "^-(.*)", "\\1")
val =
+ nextok = true
for (cc, allConfigs) {
type = $$eval($${cc}.commandline.options.$${opt})
!isEmpty(type): break()
@@ -277,6 +282,7 @@ defineTest(qtConfParseCommandLine) {
contains(c, $$e) {
opt = $$eval($${cc}.commandline.prefix.$${p})
val = $$replace(c, $$e, "\\1")
+ nextok = true
type = "addString"
break()
}
@@ -315,7 +321,7 @@ defineTest(qtConfParseCommandLine) {
error("Command line option '$$c' has unknown type '$$type'.")
# now that we have opt and value, process it
- $${call}($$opt, $$val)
+ $${call}($$opt, $$val, $$nextok)
}
}
@@ -1743,10 +1749,6 @@ defineTest(qtConfProcessOneOutput) {
fpfx = $${currentConfig}.features.$${feature}
opfx = $${fpfx}.output.$${2}
- condition = $$eval($${opfx}.condition)
- !isEmpty(condition):!$$qtConfEvaluate($$condition): \
- return()
-
call = $$eval($${opfx}.type)
isEmpty(call) {
# output is just a string, not an object
@@ -1755,11 +1757,8 @@ defineTest(qtConfProcessOneOutput) {
!defined("qtConfOutput_$$call", test): \
error("Undefined type '$$call' in output '$$2' of feature '$$feature'.")
- condition = $$eval($${opfx}.condition)
- !isEmpty(condition) {
- !$$qtConfEvaluate($$condition): \
- return(false)
- }
+ !$$qtConfEvaluate($$eval($${opfx}.condition)): \
+ return()
$${opfx}.feature = $$feature
qtConfOutput_$${call}($$opfx, $$eval($${fpfx}.available))
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index a0be15c4a0..0e04b46448 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -182,7 +182,7 @@ headersclean:!internal_module {
# Turn on some extra warnings not found in -Wall -Wextra.
# Common to GCC, Clang and ICC (and other compilers that masquerade as GCC):
hcleanFLAGS = -Wall -Wextra -Werror \
- -Woverloaded-virtual -Wshadow -Wundef \
+ -Woverloaded-virtual -Wshadow -Wundef -Wfloat-equal \
-Wnon-virtual-dtor -Wpointer-arith -Wformat-security \
-Wno-long-long -Wno-variadic-macros -pedantic-errors
diff --git a/mkspecs/features/uikit/bitcode.prf b/mkspecs/features/uikit/bitcode.prf
index a1dff19eb3..df298171c0 100644
--- a/mkspecs/features/uikit/bitcode.prf
+++ b/mkspecs/features/uikit/bitcode.prf
@@ -1,7 +1,13 @@
lessThan(QMAKE_XCODE_VERSION, "7.0") {
warning("You need to update Xcode to version 7 or newer to support bitcode")
-} else {
- release:device {
+} else: !macx-xcode {
+ # Simulator builds and all debug builds SHOULD use -fembed-bitcode-marker,
+ # but unfortunately the -fembed-bitcode and -fembed-bitcode-marker driver
+ # flags do not work in conjunction with -Xarch, so we'll have to let it use
+ # the "wrong" flags for now (note that this issue affects only the Makefile
+ # generator). We also don't want the flags to be passed in Xcode builds, as
+ # the Xcode ENABLE_BITCODE setting will take care of that for us.
+ release {
QMAKE_CFLAGS += -fembed-bitcode
QMAKE_CXXFLAGS += -fembed-bitcode
QMAKE_OBJECTIVE_CFLAGS += -fembed-bitcode