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>
This commit is contained in:
parent
2047fe9253
commit
8df17d233c
41
configure
vendored
41
configure
vendored
@ -604,6 +604,7 @@ CFG_MYSQL_CONFIG=
|
||||
CFG_PSQL_CONFIG=
|
||||
CFG_DEBUG_RELEASE=no
|
||||
CFG_FORCEDEBUGINFO=no
|
||||
CFG_RELEASE_TOOLS=no
|
||||
CFG_SHARED=yes
|
||||
CFG_SM=auto
|
||||
CFG_XSHAPE=auto
|
||||
@ -642,7 +643,6 @@ CFG_BUILD_PARTS=""
|
||||
CFG_NOBUILD_PARTS=""
|
||||
CFG_SKIP_MODULES=""
|
||||
CFG_COMPILE_EXAMPLES=yes
|
||||
CFG_RELEASE_QMAKE=no
|
||||
CFG_AUDIO_BACKEND=auto
|
||||
CFG_QML_DEBUG=yes
|
||||
CFG_PKGCONFIG=auto
|
||||
@ -1433,13 +1433,6 @@ while [ "$#" -gt 0 ]; do
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
optimized-qmake)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_RELEASE_QMAKE="$VAL"
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
release)
|
||||
if [ "$VAL" = "yes" ]; then
|
||||
CFG_DEBUG=no
|
||||
@ -1455,6 +1448,13 @@ while [ "$#" -gt 0 ]; do
|
||||
force-debug-info)
|
||||
CFG_FORCEDEBUGINFO="$VAL"
|
||||
;;
|
||||
optimized-qmake|optimized-tools)
|
||||
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||
CFG_RELEASE_TOOLS="$VAL"
|
||||
else
|
||||
UNKNOWN_OPT=yes
|
||||
fi
|
||||
;;
|
||||
developer-build)
|
||||
CFG_DEV="yes"
|
||||
;;
|
||||
@ -2433,6 +2433,9 @@ Configure options:
|
||||
|
||||
-developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
|
||||
|
||||
* -no-optimized-tools ... Do not build optimized host tools even in debug build.
|
||||
-optimized-tools ...... Build optimized host tools even in debug build.
|
||||
|
||||
-opensource ........ Compile and link the Open-Source Edition of Qt.
|
||||
-commercial ........ Compile and link the Commercial Edition of Qt.
|
||||
|
||||
@ -2618,9 +2621,6 @@ Additional options:
|
||||
-silent ............ Reduce the build output so that warnings and errors
|
||||
can be seen more easily.
|
||||
|
||||
* -no-optimized-qmake ... Do not build qmake optimized.
|
||||
-optimized-qmake ...... Build qmake optimized.
|
||||
|
||||
-no-nis ............ Do not compile NIS support.
|
||||
* -nis ............... Compile NIS support.
|
||||
|
||||
@ -3387,6 +3387,10 @@ if [ "$CFG_FORCEDEBUGINFO" = "yes" ]; then
|
||||
QMAKE_CONFIG="$QMAKE_CONFIG force_debug_info"
|
||||
fi
|
||||
|
||||
if [ "$CFG_RELEASE_TOOLS" = "yes" ]; then
|
||||
QT_CONFIG="$QT_CONFIG release_tools"
|
||||
fi
|
||||
|
||||
if [ "$XPLATFORM_MAC" = "yes" ]; then
|
||||
[ "$CFG_PKGCONFIG" = "auto" ] && CFG_PKGCONFIG="no"
|
||||
fi
|
||||
@ -4017,7 +4021,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
|
||||
setBootstrapVariable QMAKE_LFLAGS
|
||||
setBootstrapVariable QMAKE_LFLAGS_GCSECTIONS
|
||||
|
||||
if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
|
||||
if [ "$CFG_RELEASE_TOOLS" = "yes" ]; then
|
||||
setBootstrapVariable QMAKE_CFLAGS_RELEASE
|
||||
setBootstrapVariable QMAKE_CXXFLAGS_RELEASE
|
||||
EXTRA_CFLAGS="$EXTRA_CFLAGS \$(QMAKE_CFLAGS_RELEASE)"
|
||||
@ -7237,10 +7241,12 @@ release="release"
|
||||
[ "$CFG_FORCEDEBUGINFO" = "yes" ] && release="release (with debug info)"
|
||||
[ "$CFG_DEBUG" = "yes" ] && build_mode="debug" || build_mode=$release
|
||||
if [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
|
||||
echo " Mode ................... debug and $release; default link: $build_mode"
|
||||
else
|
||||
echo " Mode ................... $build_mode"
|
||||
build_mode="debug and $release; default link: $build_mode"
|
||||
fi
|
||||
if [ "$CFG_RELEASE_TOOLS" = "yes" ]; then
|
||||
build_mode="$build_mode; optimized tools"
|
||||
fi
|
||||
echo " Mode ................... $build_mode"
|
||||
unset build_mode release
|
||||
echo " Using sanitizer(s)...... $CFG_SANITIZERS"
|
||||
echo " Using C++ standard ..... $CFG_STDCXX"
|
||||
@ -7406,6 +7412,11 @@ if [ "$CFG_QREAL" = double ] && [ "$CFG_ARCH" = arm ]; then
|
||||
echo "NOTE: Qt is using double for qreal on this system. This is binary incompatible against Qt 5.1."
|
||||
echo "Configure with '-qreal float' to create a build that is binary compatible with 5.1."
|
||||
fi
|
||||
if [ "$CFG_RELEASE_TOOLS" = "yes" -a \( "$CFG_DEBUG" = "no" -o "$CFG_DEBUG_RELEASE" = "yes" \) ]; then
|
||||
echo
|
||||
echo "NOTE: -optimized-tools is not useful in -release mode."
|
||||
echo
|
||||
fi
|
||||
|
||||
exec 1>&3 3>&- # restore stdout
|
||||
cat $outpath/config.summary # display config feedback to user
|
||||
|
@ -21,7 +21,7 @@ QMAKE_LFLAGS += $$QMAKE_LFLAGS_GCSECTIONS
|
||||
|
||||
host_build: QT -= gui # no host tool will ever use gui
|
||||
host_build:force_bootstrap {
|
||||
!build_pass: CONFIG += release
|
||||
!build_pass:contains(QT_CONFIG, release_tools): CONFIG += release
|
||||
contains(QT, core(-private)?|xml) {
|
||||
QT -= core core-private xml
|
||||
QT += bootstrap-private
|
||||
|
@ -32,7 +32,7 @@ host_build {
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_SPLIT_SECTIONS
|
||||
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_SPLIT_SECTIONS
|
||||
force_bootstrap {
|
||||
!build_pass: CONFIG += release
|
||||
!build_pass:contains(QT_CONFIG, release_tools): CONFIG += release
|
||||
contains(QT, core(-private)?|xml) {
|
||||
QT -= core core-private xml
|
||||
QT += bootstrap-private
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user