summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-04-20 11:19:14 +0200
committerLiang Qi <liang.qi@qt.io>2017-04-20 12:31:27 +0200
commit7950b6b283549c98f1e0f981c84b68071a13b616 (patch)
treecf7281872045ebd57c68e10064ff0f400084aa13 /mkspecs
parent58d2927861d3e57cac4f6db599e209d2bfb17a2c (diff)
parent0794d61c822585530243f638687b8a75f0a15d0c (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts: src/corelib/tools/qbytearray.h src/corelib/tools/qdatetime.h src/corelib/tools/qstring.h src/corelib/tools/qversionnumber.h src/plugins/platforms/android/qandroidplatformintegration.cpp tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp Change-Id: Iefd92a435e687a76cd593099e40d9a9620a1454d
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/clang-mac.conf2
-rw-r--r--mkspecs/common/msvc-version.conf3
-rw-r--r--mkspecs/features/android/resolve_target.prf2
-rw-r--r--mkspecs/features/link_ltcg.prf4
-rw-r--r--mkspecs/features/mac/default_post.prf26
-rw-r--r--mkspecs/features/qt_module_headers.prf16
-rw-r--r--mkspecs/macx-icc/qmake.conf2
7 files changed, 40 insertions, 15 deletions
diff --git a/mkspecs/common/clang-mac.conf b/mkspecs/common/clang-mac.conf
index 274fd73d00..cbae2e6262 100644
--- a/mkspecs/common/clang-mac.conf
+++ b/mkspecs/common/clang-mac.conf
@@ -9,3 +9,5 @@ QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvm.clang.1_0
QMAKE_CXXFLAGS += -stdlib=libc++
QMAKE_LFLAGS += -stdlib=libc++
QMAKE_AR_LTCG = libtool -static -o
+
+QMAKE_CFLAGS_APPLICATION_EXTENSION = -fapplication-extension
diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf
index 945767ce8c..29f96b7abf 100644
--- a/mkspecs/common/msvc-version.conf
+++ b/mkspecs/common/msvc-version.conf
@@ -47,7 +47,7 @@ greaterThan(QMAKE_MSC_VER, 1799) {
MSVC_VER = 12.0
COMPAT_MKSPEC = win32-msvc2013
QMAKE_CFLAGS += -FS
- QMAKE_CXXFLAGS += -FS
+ QMAKE_CXXFLAGS += -FS -Zc:rvalueCast -Zc:inline
QMAKE_CFLAGS_F16C = -arch:AVX
@@ -80,6 +80,7 @@ greaterThan(QMAKE_MSC_VER, 1909) {
# Visual Studio 2017 (15.0) / Visual C++ 19.10 and up
MSVC_VER = 15.0
COMPAT_MKSPEC = win32-msvc2017
+ QMAKE_CXXFLAGS += -Zc:referenceBinding
}
greaterThan(QMAKE_MSC_VER, 1910) {
diff --git a/mkspecs/features/android/resolve_target.prf b/mkspecs/features/android/resolve_target.prf
new file mode 100644
index 0000000000..2bbeffcfd0
--- /dev/null
+++ b/mkspecs/features/android/resolve_target.prf
@@ -0,0 +1,2 @@
+load(android)
+load(resolve_target)
diff --git a/mkspecs/features/link_ltcg.prf b/mkspecs/features/link_ltcg.prf
index 03d0e813b6..4da061e1fe 100644
--- a/mkspecs/features/link_ltcg.prf
+++ b/mkspecs/features/link_ltcg.prf
@@ -1,6 +1,8 @@
gcc {
# on Windows, MinGW's support for -flto=N is broken
- !clang:!intel_icc:!equals(QMAKE_HOST.os, Windows):greaterThan(QMAKE_HOST.cpu_count, 1) {
+ intel_icc {
+ QMAKE_LFLAGS_LTCG ~= s/-ipo/-ipo=$$QMAKE_HOST.cpu_count/
+ } else: !clang:!equals(QMAKE_HOST.os, Windows):greaterThan(QMAKE_HOST.cpu_count, 1) {
# Override LTO number of jobs
QMAKE_LFLAGS_LTCG ~= s/^-flto$/-flto=$$QMAKE_HOST.cpu_count/
}
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
index cb8543254a..2bba73d795 100644
--- a/mkspecs/features/mac/default_post.prf
+++ b/mkspecs/features/mac/default_post.prf
@@ -40,10 +40,10 @@ qt {
!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
app_extension_api_only {
- QMAKE_CFLAGS += -fapplication-extension
- QMAKE_CXXFLAGS += -fapplication-extension
- QMAKE_CXXFLAGS_PRECOMPILE += -fapplication-extension
- QMAKE_LFLAGS += -fapplication-extension
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+ QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+ QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
}
macx-xcode {
@@ -157,13 +157,23 @@ macx-xcode {
# Enable precompiled headers for multiple architectures
QMAKE_CFLAGS_USE_PRECOMPILE =
for (arch, VALID_ARCHS) {
+ icc_pch_style: \
+ use_flag = "-pch-use "
+ else: \
+ use_flag = -include
+
QMAKE_CFLAGS_USE_PRECOMPILE += \
-Xarch_$${arch} \
- -include${QMAKE_PCH_OUTPUT_$${arch}}
+ $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
+ }
+ icc_pch_style {
+ QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
+ QMAKE_CFLAGS_USE_PRECOMPILE =
+ } else {
+ QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+ QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+ QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
}
- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
- QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
- QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
}
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 4a4a41850d..a196ad4505 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -158,12 +158,18 @@ MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MOD
}
SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
-# Automatically enable precompiled headers for Qt modules,
-# except for Gcc/Windows: Larger precompiled headers crash cc1plus.exe
-# (e.g. with i686-4.8.2-release-posix-dwarf-rt_v3-rev3)
-!if(gcc:equals(QMAKE_HOST.os, Windows)):!equals(TEMPLATE, aux) {
- isEmpty(PRECOMPILED_HEADER): PRECOMPILED_HEADER = $$MODULE_MASTER_DEPS_HEADER
+# Automatically enable precompiled headers for Qt modules with more than 2 sources
+combined_SOURCES = $$SOURCES $$OBJECTIVE_SOURCES
+count(combined_SOURCES, 2, >) {
+ # except for Gcc/Windows: Larger precompiled headers crash cc1plus.exe
+ # (e.g. with i686-4.8.2-release-posix-dwarf-rt_v3-rev3)
+ !if(gcc:equals(QMAKE_HOST.os, Windows)):!equals(TEMPLATE, aux) {
+ !defined(PRECOMPILED_HEADER, "var"): PRECOMPILED_HEADER = $$MODULE_MASTER_DEPS_HEADER
+ }
+} else {
+ CONFIG -= precompile_header
}
+unset(combined_SOURCES)
headersclean:!internal_module {
# Make sure that the header compiles with our strict options
diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf
index 8d5c1d2418..feeaa08113 100644
--- a/mkspecs/macx-icc/qmake.conf
+++ b/mkspecs/macx-icc/qmake.conf
@@ -96,6 +96,8 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10
+QMAKE_APPLE_DEVICE_ARCHS = x86_64
+
include(../common/macx.conf)
load(qt_config)