summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-10-11 14:26:24 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-11-21 23:07:34 +0000
commit7e27afd88fbc28f767a51e39dda780290f65a7fb (patch)
tree0aa4a7acbeccd3b720322185ec13ee9d348c0170 /mkspecs
parent659eff9f2dbefaead70ff091b5ddaf1efb7f8c8f (diff)
configure: log -I and -L before doing first library check
... for debugging purposes. this needs to work in every configure run even though the options (currently) come from qtbase's global scope. this is accomplished by automatically injecting the test type dependencies declared in the 'builtins' scope (where they generally make no sense whatsoever, because there are no tests there) into other scopes (the first one that has a test of the particular type, specifically). we do that *after* the scope's own test type deps, so it can do its custom stuff first (it can explicitly activate the required features if it depends on some global stuff). Change-Id: I67317da1b55804d39458bdbcf13d39a3e57a13bf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/data/configure.json10
-rw-r--r--mkspecs/features/qt_configure.prf26
2 files changed, 30 insertions, 6 deletions
diff --git a/mkspecs/features/data/configure.json b/mkspecs/features/data/configure.json
index 167c502e82..faa89231a0 100644
--- a/mkspecs/features/data/configure.json
+++ b/mkspecs/features/data/configure.json
@@ -17,5 +17,15 @@
"list-features": "void",
"list-libraries": "void"
}
+ },
+
+ "testTypeDependencies": {
+ "library": [ "library-paths" ]
+ },
+
+ "features": {
+ "library-paths": {
+ "output": [ "libraryPaths" ]
+ }
}
}
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 81b820978a..2cc6b49d3c 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -1156,7 +1156,7 @@ defineTest(qtConfSetupTestTypeDeps) {
}
}
-defineTest(qtConfEnsureTestTypeDeps) {
+defineTest(qtConfEnsureTestTypeDepsOne) {
depsn = $${currentConfig}.testTypeDependencies.$${1}._KEYS_
!isEmpty($$depsn) {
for (dep, $$depsn) {
@@ -1170,12 +1170,18 @@ defineTest(qtConfEnsureTestTypeDeps) {
fwdsn = $${currentConfig}.testTypeForwards.$${1}
!isEmpty($$fwdsn) {
for (fwd, $$fwdsn): \
- qtConfEnsureTestTypeDeps($$fwd)
+ qtConfEnsureTestTypeDepsOne($$fwd)
$$fwdsn =
export($$fwdsn)
}
}
+defineTest(qtConfEnsureTestTypeDeps) {
+ qtConfEnsureTestTypeDepsOne($$1)
+ currentConfig = config.builtins
+ qtConfEnsureTestTypeDepsOne($$1)
+}
+
defineTest(qtRunSingleTest) {
tpfx = $${currentConfig}.tests.$${1}
defined($${tpfx}.result, var): \
@@ -1660,6 +1666,11 @@ defineTest(qtConfCheckErrors) {
# output generation
#
+defineTest(qtConfOutput_libraryPaths) {
+ qtLog("Global lib dirs: [$$val_escape(EXTRA_LIBDIR)] [$$val_escape(QMAKE_DEFAULT_LIBDIRS)]")
+ qtLog("Global inc dirs: [$$val_escape(EXTRA_INCLUDEPATH)] [$$val_escape(QMAKE_DEFAULT_INCDIRS)]")
+}
+
# qtConfOutputVar(modifier, output, name, value)
defineTest(qtConfOutputVar) {
modifier = $$1
@@ -2028,6 +2039,9 @@ for(ever) {
}
configsToProcess = $$subconfigs $$configsToProcess
}
+# 'builtins' is used for command line parsing and test type dependency
+# injection, but its features must not be processed regularly.
+allModuleConfigs = $$member(allConfigs, 1, -1)
QMAKE_SAVED_ARGS = $$QMAKE_EXTRA_ARGS
QMAKE_REDO_CONFIG = false
@@ -2036,7 +2050,7 @@ qtConfCheckErrors()
!isEmpty(config.input.list-features) {
all_ft =
- for (currentConfig, allConfigs) {
+ for (currentConfig, allModuleConfigs) {
for (k, $${currentConfig}.features._KEYS_) {
pp = $$eval($${currentConfig}.features.$${k}.purpose)
!isEmpty(pp) {
@@ -2056,7 +2070,7 @@ qtConfCheckErrors()
!isEmpty(config.input.list-libraries) {
logn()
- for (currentConfig, allConfigs) {
+ for (currentConfig, allModuleConfigs) {
!isEmpty($${currentConfig}.exports._KEYS_) {
!isEmpty($${currentConfig}.module): \
logn($$eval($${currentConfig}.module):)
@@ -2093,7 +2107,7 @@ qtLog("Command line: $$qtSystemQuote($$QMAKE_SAVED_ARGS)")
$$QMAKE_REDO_CONFIG: \
qtLog("config.opt: $$qtSystemQuote($$QMAKE_EXTRA_REDO_ARGS)")
-for (currentConfig, allConfigs) {
+for (currentConfig, allModuleConfigs) {
qtConfSetModuleName()
qtConfSetupModuleOutputs()
# do early checks, mainly to validate the command line
@@ -2137,7 +2151,7 @@ CONFIG += qt_conf_tests_allowed
logn()
logn("Running configuration tests...")
-for (currentConfig, allConfigs) {
+for (currentConfig, allModuleConfigs) {
tdir = $$eval($${currentConfig}.testDir)
isEmpty(tdir): tdir = config.tests
QMAKE_CONFIG_TESTS_DIR = $$absolute_path($$tdir, $$eval($${currentConfig}.dir))