diff --git a/configure b/configure index 0d30c97504..4a1836e5b0 100755 --- a/configure +++ b/configure @@ -5330,9 +5330,11 @@ fi if [ "$CFG_SHARED" = "yes" ]; then QMAKE_OUTDIR="${QMAKE_OUTDIR}-shared" QT_CONFIG="$QT_CONFIG shared" + QTCONFIG_CONFIG="$QTCONFIG_CONFIG shared" elif [ "$CFG_SHARED" = "no" ]; then QMAKE_OUTDIR="${QMAKE_OUTDIR}-static" QT_CONFIG="$QT_CONFIG static" + QTCONFIG_CONFIG="$QTCONFIG_CONFIG static" fi #FIXME: qpa is implicit this should all be removed diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index b6e3454f0e..bac7ca1751 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -10,7 +10,7 @@ defineReplace(qtPlatformTargetSuffix) { defineReplace(qtLibraryTarget) { LIBRARY_NAME = $$1 - mac:!static:contains(QT_CONFIG, qt_framework) { + mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { QMAKE_FRAMEWORK_BUNDLE_NAME = $$LIBRARY_NAME export(QMAKE_FRAMEWORK_BUNDLE_NAME) } else { diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index e6263af7a5..728d1f5f85 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -25,12 +25,6 @@ isEmpty(VERSION):VERSION = $$QT_VERSION # Compile as shared/DLL or static according to the option given to configure # unless overridden. Host builds are always static host_build|staticlib: CONFIG += static -!static:!shared { - contains(QT_CONFIG, static): \ - CONFIG += static - else: \ - CONFIG += shared -} ucmodule = $$upper($$MODULE) @@ -87,7 +81,7 @@ contains(QT_CONFIG, separate_debug_info_nocopy):CONFIG += separate_debug_info_no contains(QT_CONFIG, c++11):CONFIG += c++11 #mac frameworks -mac:!static:contains(QT_CONFIG, qt_framework) { +mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { #QMAKE_FRAMEWORK_VERSION = 4.0 CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework CONFIG(release, debug|release) { diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf index 2ec523d78c..54a995daae 100644 --- a/mkspecs/features/qt_plugin.prf +++ b/mkspecs/features/qt_plugin.prf @@ -28,10 +28,7 @@ contains(QT_CONFIG, separate_debug_info):CONFIG += separate_debug_info contains(QT_CONFIG, separate_debug_info_nocopy):CONFIG += separate_debug_info_nocopy contains(QT_CONFIG, c++11):CONFIG += c++11 -contains(QT_CONFIG, static):CONFIG += static -else:CONFIG += shared - -static { +CONFIG(static, static|shared) { isEmpty(MODULE): MODULE = $$basename(TARGET) MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_plugin_$${MODULE}.pri diff --git a/mkspecs/features/resolve_config.prf b/mkspecs/features/resolve_config.prf index e85435cf73..41e82b2382 100644 --- a/mkspecs/features/resolve_config.prf +++ b/mkspecs/features/resolve_config.prf @@ -14,11 +14,6 @@ staticlib: \ else: dll: \ CONFIG += shared -!shared:!static { - contains(QT_CONFIG, static): CONFIG += static - else: CONFIG += shared -} - CONFIG(static, static|shared) { CONFIG -= shared dll contains(TEMPLATE, ".*lib"): CONFIG += staticlib diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 5fe1e029fb..966571be77 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -3029,6 +3029,7 @@ void Configure::generateQConfigPri() configStream << "CONFIG+= "; configStream << dictionary[ "BUILD" ]; + configStream << (dictionary[ "SHARED" ] == "no" ? " static" : " shared"); if (dictionary[ "LTCG" ] == "yes") configStream << " ltcg";