summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
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/features
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/features')
-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
4 files changed, 34 insertions, 14 deletions
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