diff options
-rwxr-xr-x | configure | 1 | ||||
-rw-r--r-- | qtbase.pro | 11 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 5 |
3 files changed, 17 insertions, 0 deletions
@@ -6670,6 +6670,7 @@ echo "QT_BUILD_PARTS += $CFG_BUILD_PARTS" >> "$QTMODULE.tmp" if [ -n "$CFG_SKIP_MODULES" ]; then echo "QT_SKIP_MODULES += $CFG_SKIP_MODULES" >> "$QTMODULE.tmp" fi +echo "QT_QCONFIG_PATH = ${CFG_QCONFIG_PATH#$relpath/src/corelib/global/}" >> "$QTMODULE.tmp" cat >>"$QTMODULE.tmp" <<EOF host_build { diff --git a/qtbase.pro b/qtbase.pro index 3fc759615b..d608695970 100644 --- a/qtbase.pro +++ b/qtbase.pro @@ -145,6 +145,17 @@ FWD_FEATURES_H = \ '$${LITERAL_HASH}include "../../src/corelib/global/qfeatures.h"' write_file($$OUT_PWD/include/QtCore/qfeatures.h, FWD_FEATURES_H)|error("Aborting.") +lines = $$cat($$absolute_path($$QT_QCONFIG_PATH, $$PWD/src/corelib/global), lines) +for (line, lines) { + # We ignore all defines that don't follow the #ifndef + indent pattern. + # This makes it possible to have unchecked defines which are no features. + t = $$replace(line, "^$${LITERAL_HASH} define QT_NO_(\\S+)\\s*$", "\\1") + !isEqual(t, $$line) { + isEmpty(features.$${t}.name): \ + error("$$QT_QCONFIG_PATH disables unknown feature $$t") + } +} + #mkspecs mkspecs.path = $$[QT_HOST_DATA]/mkspecs mkspecs.files = \ diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index cc35b425a6..0fd35dd2fa 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -2860,6 +2860,11 @@ void Configure::generateCachefile() moduleStream << "QT_BUILD_PARTS += " << buildParts.join(' ') << endl; if (!skipModules.isEmpty()) moduleStream << "QT_SKIP_MODULES += " << skipModules.join(' ') << endl; + QString qcpath = dictionary["QCONFIG_PATH"]; + QString qlpath = sourcePath + "/src/corelib/global/"; + if (qcpath.startsWith(qlpath)) + qcpath.remove(0, qlpath.length()); + moduleStream << "QT_QCONFIG_PATH = " << qcpath << endl; moduleStream << endl; moduleStream << "host_build {" << endl; |