summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure2
-rw-r--r--mkspecs/features/qt_functions.prf2
-rw-r--r--mkspecs/features/qt_module.prf8
-rw-r--r--mkspecs/features/qt_plugin.prf5
-rw-r--r--mkspecs/features/resolve_config.prf5
-rw-r--r--tools/configure/configureapp.cpp1
6 files changed, 6 insertions, 17 deletions
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";