summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-05-22 07:44:45 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-05-22 07:46:17 +0200
commit508b95899d4764d879a01b3990e44ce849cd9abc (patch)
tree3dbb215480c98ee75b5aacc5e3d691e04d8ce8c8 /mkspecs/features
parentf2891be00808c82f5069661d60d8727fe28774b7 (diff)
parent5d2939344eb8fbd3c2115f52a7a8d47365bdf820 (diff)
Merge remote-tracking branch 'origin/stable' into dev
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/qt_app.prf3
-rw-r--r--mkspecs/features/qt_build_config.prf8
-rw-r--r--mkspecs/features/qt_docs.prf5
-rw-r--r--mkspecs/features/qt_helper_lib.prf6
-rw-r--r--mkspecs/features/qt_module.prf2
5 files changed, 17 insertions, 7 deletions
diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
index a4fcb7d484..0f83fd7270 100644
--- a/mkspecs/features/qt_app.prf
+++ b/mkspecs/features/qt_app.prf
@@ -16,6 +16,9 @@ DESTDIR = $$MODULE_BASE_OUTDIR/bin
isEmpty(QMAKE_INFO_PLIST): CONFIG -= app_bundle
+# This decreases the binary size for tools if statically linked
+QMAKE_LFLAGS += $$QMAKE_LFLAGS_GCSECTIONS
+
host_build: QT -= gui # no host tool will ever use gui
host_build:force_bootstrap {
!build_pass: CONFIG += release
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
index b611e782f9..0bf90cc297 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
@@ -34,8 +34,12 @@ QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR
!build_pass:!isEmpty(_QMAKE_SUPER_CACHE_):force_independent {
# When doing a -prefix build of top-level qt5/qt.pro, we need to announce
- # this repo's module pris' location to the other repos.
- isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$shadowed($$dirname(_QMAKE_CONF_))
+ # this repo's output dir to the other repos.
+ MODULE_BASE_OUTDIR = $$shadowed($$dirname(_QMAKE_CONF_))
+ !contains(QTREPOS, $$MODULE_BASE_OUTDIR): \
+ cache(QTREPOS, add super, MODULE_BASE_OUTDIR)
+ # This repo's module pris' location needs to be made known to qmake.
+ isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
modpath = $$MODULE_QMAKE_OUTDIR/mkspecs/modules
!contains(QMAKEMODULES, $$modpath): \
cache(QMAKEMODULES, add super, modpath)
diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
index be3cd5273c..8e63fa61a7 100644
--- a/mkspecs/features/qt_docs.prf
+++ b/mkspecs/features/qt_docs.prf
@@ -23,8 +23,9 @@ QDOC += -outputdir $$QMAKE_DOCS_OUTPUTDIR
!build_online_docs: \
QDOC += -installdir $$[QT_INSTALL_DOCS]
DOC_INDEXES =
-for(qmod, QMAKEMODULES): \
- DOC_INDEXES += -indexdir $$section(qmod, /, 0, -3)/doc
+for(qrep, QTREPOS): \
+ exists($$qrep/doc): \
+ DOC_INDEXES += -indexdir $$qrep/doc
qtver.name = QT_VERSION
qtver.value = $$VERSION
isEmpty(qtver.value): qtver.value = $$MODULE_VERSION
diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf
index 4af5bcaabb..b2bb55bb1e 100644
--- a/mkspecs/features/qt_helper_lib.prf
+++ b/mkspecs/features/qt_helper_lib.prf
@@ -20,8 +20,8 @@ contains(QT_CONFIG, build_all): CONFIG += build_all
DESTDIR = $$MODULE_BASE_OUTDIR/lib
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
-# Static builds always need to be installed, as the convenience libraries
-# are not linked to the final library in this case.
-installed|static: load(qt_installs)
+# In static builds of Qt, convenience libraries must be installed,
+# as in this case they are not linked to the final library/plugin.
+installed|contains(QT_CONFIG, static): load(qt_installs)
TARGET = $$qtLibraryTarget($$TARGET)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 5dac0250ea..8bf4c92cdd 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -29,6 +29,8 @@ host_build|staticlib: CONFIG += static
host_build {
QT -= gui # no host module will ever use gui
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS_SPLIT_SECTIONS
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_SPLIT_SECTIONS
force_bootstrap {
!build_pass: CONFIG += release
contains(QT, core(-private)?|xml) {