summaryrefslogtreecommitdiffstats
path: root/tools/configure
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-10-26 12:38:50 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-11-17 20:21:54 +0000
commit8df17d233c62506f7758160d9af711dda4fc760e (patch)
tree91ce391200c4590bafc49d93e91e030736a5c1f3 /tools/configure
parent2047fe9253775347cced87bca5a6b9adf364c0bb (diff)
introduce -optimized-tools option
instead of building host tools always in debug mode, follow the overall build type, and provide an option to override it. this supersedes the pre-existing -optimized-qmake option. however, that option never existed in the windows configure, and this legacy continues as far as qmake is concerned (msvc builds of qmake are always somewhat optimized, but not mingw builds). Change-Id: I42e7ef1a481840699a8dffff13fec2626af19cc6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'tools/configure')
-rw-r--r--tools/configure/configureapp.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 5ddb3cb489..3767640536 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -230,6 +230,7 @@ Configure::Configure(int& argc, char** argv) : verbose(0)
dictionary[ "BUILD" ] = "debug";
dictionary[ "BUILDALL" ] = "auto"; // Means yes, but not explicitly
dictionary[ "FORCEDEBUGINFO" ] = "no";
+ dictionary[ "OPTIMIZED_TOOLS" ] = "no";
dictionary[ "BUILDTYPE" ] = "none";
@@ -460,6 +461,10 @@ void Configure::parseCmdLine()
dictionary[ "SEPARATE_DEBUG_INFO" ] = "no";
else if (configCmdLine.at(i) == "-separate-debug-info")
dictionary[ "SEPARATE_DEBUG_INFO" ] = "yes";
+ else if (configCmdLine.at(i) == "-optimized-tools")
+ dictionary[ "RELEASE_TOOLS" ] = "yes";
+ else if (configCmdLine.at(i) == "-no-optimized-tools")
+ dictionary[ "RELEASE_TOOLS" ] = "no";
else if (configCmdLine.at(i) == "-compile-examples") {
dictionary[ "COMPILE_EXAMPLES" ] = "yes";
@@ -1814,6 +1819,9 @@ bool Configure::displayHelp()
desc("BUILDDEV", "yes", "-developer-build", "Compile and link Qt with Qt developer options (including auto-tests exporting)\n");
+ desc("RELEASE_TOOLS", "yes", "-optimized-tools", "Do not build optimized host tools even in debug build.");
+ desc("RELEASE_TOOLS", "no", "-no-optimized-tools", "Build optimized host tools even in debug build.\n");
+
desc("OPENSOURCE", "opensource", "-opensource", "Compile and link the Open-Source Edition of Qt.");
desc("COMMERCIAL", "commercial", "-commercial", "Compile and link the Commercial Edition of Qt.\n");
@@ -2738,6 +2746,8 @@ void Configure::generateOutputVars()
qtConfig += "debug_and_release build_all debug";
qtConfig += "release";
}
+ if (dictionary[ "RELEASE_TOOLS" ] == "yes")
+ qtConfig += "release_tools";
if (dictionary[ "C++STD" ] == "c++11")
qtConfig += "c++11";
@@ -3837,6 +3847,8 @@ void Configure::displayConfig()
}
if (dictionary[ "BUILD" ] == "release" || dictionary[ "BUILDALL" ] == "yes")
sout << "Force debug info............" << dictionary[ "FORCEDEBUGINFO" ] << endl;
+ if (dictionary[ "BUILD" ] == "debug")
+ sout << "Force optimized tools......." << dictionary[ "RELEASE_TOOLS" ] << endl;
sout << "C++ language standard......." << dictionary[ "C++STD" ] << endl;
sout << "Link Time Code Generation..." << dictionary[ "LTCG" ] << endl;
sout << "Accessibility support......." << dictionary[ "ACCESSIBILITY" ] << endl;
@@ -4010,6 +4022,10 @@ void Configure::displayConfig()
<< "Qt 5.6 build, but you should update your build scripts to remove the" << endl
<< "option and, if necessary, upgrade your compiler." << endl;
}
+ if (dictionary["RELEASE_TOOLS"] == "yes" && dictionary["BUILD"] != "debug" ) {
+ sout << endl
+ << "NOTE: -optimized-tools is not useful in -release mode." << endl;
+ }
if (!dictionary["PREFIX_COMPLAINTS"].isEmpty()) {
sout << endl
<< dictionary["PREFIX_COMPLAINTS"] << endl