summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-01-17 17:10:21 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-01-20 09:29:37 +0000
commit6834d0eeccc7333ab9d53251b3bd4a24058843da (patch)
tree7e33ad005cbe70e82e432509a6b7daa868869083
parentd22579f51ef342a54937cb99dab62331afa0ff91 (diff)
prevent configure from putting garbage into .qmake.stash
in cross-builds, toolchain.prf was loaded before CROSS_COMPILE was set up, leading to caching of possibly nonsensical values. this change also necessitated that msvc-version.conf is loaded only when toolchain.prf is, which is best done by loading the former from within the latter. that seems quite appropriate in the first place. Change-Id: I62577e827a75e335e03df016bd1aa1932643fd6c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
-rw-r--r--configure.pri12
-rw-r--r--mkspecs/features/toolchain.prf2
-rw-r--r--mkspecs/features/win32/default_pre.prf1
3 files changed, 13 insertions, 2 deletions
diff --git a/configure.pri b/configure.pri
index cc173b6777..94aea44b13 100644
--- a/configure.pri
+++ b/configure.pri
@@ -411,7 +411,10 @@ defineTest(reloadSpec) {
# so don't bother with being selective.
QMAKE_INTERNAL_INCLUDED_FEATURES = \
# loading it gets simulated below.
- $$[QT_HOST_DATA/src]/mkspecs/features/device_config.prf
+ $$[QT_HOST_DATA/src]/mkspecs/features/device_config.prf \
+ # must be delayed until qdevice.pri is ready.
+ $$[QT_HOST_DATA/src]/mkspecs/features/mac/toolchain.prf \
+ $$[QT_HOST_DATA/src]/mkspecs/features/toolchain.prf
_SAVED_CONFIG = $$CONFIG
load(spec_pre)
@@ -825,6 +828,13 @@ defineTest(qtConfOutput_reloadSpec) {
!isEmpty($${currentConfig}.output.devicePro)| \
!isEmpty(config.input.sysroot): \
reloadSpec()
+
+ bypassNesting() {
+ QMAKE_INTERNAL_INCLUDED_FEATURES -= \
+ $$[QT_HOST_DATA/src]/mkspecs/features/mac/toolchain.prf \
+ $$[QT_HOST_DATA/src]/mkspecs/features/toolchain.prf
+ load(toolchain)
+ }
}
defineTest(qtConfOutput_shared) {
diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
index d71f40b831..fdefd513e3 100644
--- a/mkspecs/features/toolchain.prf
+++ b/mkspecs/features/toolchain.prf
@@ -153,3 +153,5 @@ unset(target_prefix)
QMAKE_CFLAGS += $$QMAKE_CFLAGS_MSVC_COMPAT
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_MSVC_COMPAT
+
+msvc:!intel_icl:!clang_cl: include(../common/msvc-version.conf)
diff --git a/mkspecs/features/win32/default_pre.prf b/mkspecs/features/win32/default_pre.prf
index 11160f5b5c..bdb72c0d89 100644
--- a/mkspecs/features/win32/default_pre.prf
+++ b/mkspecs/features/win32/default_pre.prf
@@ -1,3 +1,2 @@
CONFIG = rtti_off incremental_off windows $$CONFIG
load(default_pre)
-msvc:!intel_icl:!clang_cl: include(../../common/msvc-version.conf)