From 194a40449039a1e1dad2f370255698172bf5e7f7 Mon Sep 17 00:00:00 2001 From: Mikhail Svetkin Date: Tue, 10 Apr 2018 15:03:11 +0200 Subject: Make the use of -fdata-sections and --gc-sections more generic in Qt Add qmake feature and configure option, which optimze the size of static exectuable. Use for static build. Enabled via configure --gc-binaries, or CONFIG += gc-binaries in 3rd party projects. Change-Id: I3c25b02caaef6a4afc6019afc9c67122dd11696d Reviewed-by: Oswald Buddenhagen --- src/corelib/corelib.pro | 1 + src/tools/bootstrap/bootstrap.pro | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index 7f62a6f1b0..2244020795 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -4,6 +4,7 @@ CONFIG += exceptions MODULE = core # not corelib, as per project file MODULE_CONFIG = moc resources +qtConfig(gc_binaries): MODULE_CONFIG += gc_binaries !isEmpty(QT_NAMESPACE): MODULE_DEFINES = QT_NAMESPACE=$$QT_NAMESPACE TRACEPOINT_PROVIDER = $$PWD/qtcore.tracepoints diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index a45382106a..d340df8cbb 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -2,7 +2,7 @@ option(host_build) TARGET = QtBootstrap QT = -CONFIG += minimal_syncqt internal_module force_bootstrap +CONFIG += minimal_syncqt internal_module force_bootstrap gc_binaries MODULE_INCNAME = QtCore QtXml MODULE_DEFINES = \ @@ -12,6 +12,7 @@ MODULE_DEFINES = \ QT_VERSION_PATCH=$$QT_PATCH_VERSION \ QT_BOOTSTRAPPED \ QT_NO_CAST_TO_ASCII +MODULE_CONFIG = gc_binaries DEFINES += \ $$MODULE_DEFINES \ -- cgit v1.2.3