From d004e086a26529bcd1cc950341f71f77953c3866 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 18 Nov 2016 21:10:36 +0100 Subject: move definition of configure -continue switch to builtins ... where it actually belongs, as it should work in each repo in a modular build. Change-Id: I5463f0bcacb239900bed0b0f7be9cf32a3eab04e Reviewed-by: Lars Knoll --- configure.json | 1 - 1 file changed, 1 deletion(-) (limited to 'configure.json') diff --git a/configure.json b/configure.json index 5a5536936a..92b6f659ad 100644 --- a/configure.json +++ b/configure.json @@ -64,7 +64,6 @@ "commercial": "void", "compile-examples": { "type": "boolean", "name": "compile_examples" }, "confirm-license": "void", - "continue": "void", "dbus": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] }, "dbus-linked": { "type": "void", "name": "dbus", "value": "linked" }, "dbus-runtime": { "type": "void", "name": "dbus", "value": "runtime" }, -- cgit v1.2.3 From 42196f4061263d6d0e453c0561f7604cadc6d0a3 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 24 Nov 2016 17:36:38 +0100 Subject: nuke configure -host-option in its current form, it was introduced only in 5.7, mostly as a side effect of -external-hostbindir (which is now handled differently). it only ever worked for the macOS and MinGW specs, as a side effect of them supporting -sdk and -device-option (for good reasons), and was supported only by the unix configure. it's not believed to be really useful and complicates matters somewhat, so get rid of it again. should it ever become actually relevant, it can be re-introduced properly, probably along with a -host-sdk option for macOS. Change-Id: Ib078469ea39deb821c7b6a8c67fda9e1a95fedf5 Reviewed-by: Lars Knoll --- configure.json | 1 - 1 file changed, 1 deletion(-) (limited to 'configure.json') diff --git a/configure.json b/configure.json index 92b6f659ad..9c6248549e 100644 --- a/configure.json +++ b/configure.json @@ -81,7 +81,6 @@ "gnumake": { "type": "boolean", "name": "GNUmake" }, "gui": "boolean", "headersclean": "boolean", - "host-option": "string", "incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" }, "libudev": "boolean", "ltcg": "boolean", -- cgit v1.2.3 From 169a40d511165f6c3c9a71cd5c079786c22d2aca Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 24 Nov 2016 18:41:48 +0100 Subject: 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 --- configure.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'configure.json') 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": "config.android", @@ -967,6 +972,10 @@ }, "earlyReport": [ + { + "condition": "!features.prepare", + "comment": "This is not an actual report - instead, it activates the early setup." + }, { "type": "fatal", "condition": "!call.licenseCheck", -- cgit v1.2.3 From 8861b82f9ef59fa871adc86552012cd90eee6e09 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 24 Nov 2016 18:41:57 +0100 Subject: move qdevice.pri creation to qmake-based configure system Change-Id: I06540c3b6d98303bd9a218feedfb529993477ed6 Reviewed-by: Lars Knoll Reviewed-by: BogDan Vatra Reviewed-by: Jake Petroules --- configure.json | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'configure.json') diff --git a/configure.json b/configure.json index 537a6ff526..59358180d0 100644 --- a/configure.json +++ b/configure.json @@ -73,7 +73,7 @@ "debug-and-release": { "type": "boolean", "name": "debug_and_release" }, "developer-build": "void", "device": "string", - "device-option": "string", + "device-option": "addString", "force-asserts": { "type": "boolean", "name": "force_asserts" }, "force-debug-info": { "type": "boolean", "name": "force_debug_info" }, "force-pkg-config": { "type": "void", "name": "pkg-config" }, @@ -189,9 +189,9 @@ "testTypeDependencies": { "linkerSupportsFlag": [ "use_gold_linker" ], - "verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "gcc-sysroot", "qmakeargs" ], + "verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "gcc-sysroot", "qmakeargs", "commit" ], "compile": [ "verifyspec" ], - "detectPkgConfig": [ "cross_compile" ], + "detectPkgConfig": [ "cross_compile", "machineTuple" ], "library": [ "pkg-config" ], "getPkgConfigVariable": [ "pkg-config" ], "neon": [ "architecture" ] @@ -202,6 +202,10 @@ }, "tests": { + "machineTuple": { + "label": "machine tuple", + "type": "machineTuple" + }, "verifyspec": { "label": "valid makespec", "type": "verifySpec", @@ -419,7 +423,14 @@ "features": { "prepare": { - "output": [ "preparePaths" ] + "output": [ "prepareOptions", "preparePaths" ] + }, + "machineTuple": { + "condition": "!config.linux || config.android || tests.machineTuple", + "output": [ "machineTuple" ] + }, + "commit": { + "output": [ "commitOptions" ] }, "android-style-assets": { "label": "Android Style Assets", -- cgit v1.2.3 From ab0cc3055d3d1f0faa98f96a7e8ae58b6ef6461a Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 16 Nov 2016 15:13:52 +0100 Subject: move all target spec handling to qmake-based configure system we pull this feat off by booting configure with a dummy spec. the proper spec gets loaded subsequently. note that it was necessary to move the cache loading after processing the early checks (from which the spec handling is triggered). this is just fine, as the cache is needed only by tests, which are forbidden at this stage by definition. Change-Id: I5120e25a8bf05fb8cc5485fd93cf6387301089aa Reviewed-by: Jake Petroules --- configure.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'configure.json') diff --git a/configure.json b/configure.json index 59358180d0..77f956ed1a 100644 --- a/configure.json +++ b/configure.json @@ -423,7 +423,7 @@ "features": { "prepare": { - "output": [ "prepareOptions", "preparePaths" ] + "output": [ "prepareSpec", "prepareOptions", "preparePaths" ] }, "machineTuple": { "condition": "!config.linux || config.android || tests.machineTuple", @@ -983,6 +983,11 @@ }, "earlyReport": [ + { + "type": "fatal", + "condition": "input.xplatform != '' && input.device != ''", + "message": "Cannot specify both -xplatform and -device." + }, { "condition": "!features.prepare", "comment": "This is not an actual report - instead, it activates the early setup." -- cgit v1.2.3