path: root/configure.json
diff options
authorOswald Buddenhagen <>2016-11-24 18:41:48 +0100
committerOswald Buddenhagen <>2016-12-13 18:56:12 +0000
commit169a40d511165f6c3c9a71cd5c079786c22d2aca (patch)
treeccb96350299aa64c2ec32da0c27b4ecb1a10a822 /configure.json
parent42196f4061263d6d0e453c0561f7604cadc6d0a3 (diff)
move generation of qconfig.cpp (and qt.conf) to qmake-based configure
this moves us another step towards the "outer" configure doing just minimal bootstrapping of qmake. a challenge here was that so far, qmake itself needed qconfig.cpp. this was replaced by usage of a qt.conf file instead of compiled-in values. however, to make the executable still self-contained, that qt.conf is embedded into it (by simple appending of a fixed signature and the text file). the qmake with the embedded qt.conf is not used for the qt build itself, which instead relies on the qt.conf in bin/ as before. however, due to the missing built-in values, this file now needs to contain more information than before. but except for a minimal version that is needed to start up qmake/configure at all, that file is now also generated with qmake. as some of the newly set up properties are subsequently used by configure itself, qmake gains a (deliberately undocumented) function to reload the qt.conf after it's fully populated. unlike the old implementations, this one doesn't emit redundant qt.conf entries which match the hard-coded fallbacks. omitting them leads to leaner files which are more comprehensible. Started-by: Paolo Angelelli <> Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6 Reviewed-by: Jake Petroules <>
Diffstat (limited to 'configure.json')
1 files changed, 10 insertions, 1 deletions
diff --git a/configure.json b/configure.json
index 9c6248549e..537a6ff526 100644
--- a/configure.json
+++ b/configure.json
@@ -1,5 +1,7 @@
"files": {
+ "builtinQtConf": "qmake/builtin-qt.conf",
+ "qconfigSource": "src/corelib/global/qconfig.cpp",
"publicHeader": "src/corelib/global/qconfig.h",
"privateHeader": "src/corelib/global/qconfig_p.h",
"publicPro": "mkspecs/qconfig.pri",
@@ -43,7 +45,7 @@
"libexecdir": "string",
"plugindir": "string",
"qmldir": "string",
- "settingsdir": "string",
+ "settingsdir": { "type": "string", "name": "sysconfdir" },
"sysconfdir": "string",
"testsdir": "string",
"translationdir": "string",
@@ -416,6 +418,9 @@
"features": {
+ "prepare": {
+ "output": [ "preparePaths" ]
+ },
"android-style-assets": {
"label": "Android Style Assets",
"condition": "",
@@ -968,6 +973,10 @@
"earlyReport": [
+ "condition": "!features.prepare",
+ "comment": "This is not an actual report - instead, it activates the early setup."
+ },
+ {
"type": "fatal",
"condition": "!call.licenseCheck",
"message": "You are not licensed to use this software."