diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2014-07-01 11:46:50 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2014-07-23 16:50:08 +0200 |
commit | 01c82b945d209f3b7481b5be350c33002fb1b103 (patch) | |
tree | ad9dc93705df80c5b8800118646cc2a6b6c41d73 /mkspecs | |
parent | ea34893b8ff4374fb631da19101ea5ea998eb9dc (diff) |
Introduce qmake feature use_gold_linker
This patch adds the feature use_gold_linker to use the gold linker that
has been part of of GNU binutils since 2008. Gold links C++ libraries
much faster and use less memory.
The feature is autodetected when building Qt on Linux, but can be disabled
in configure. On MingW builds it is default off but can be enabled for
cross builds.
Change-Id: Icdd6ba2e706b2c791bcf44b6e718c2b7a5eb2218
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/gcc-base-unix.conf | 1 | ||||
-rw-r--r-- | mkspecs/features/default_post.prf | 2 | ||||
-rw-r--r-- | mkspecs/win32-g++/qmake.conf | 1 |
3 files changed, 4 insertions, 0 deletions
diff --git a/mkspecs/common/gcc-base-unix.conf b/mkspecs/common/gcc-base-unix.conf index 84ef88aa4f..29e0521927 100644 --- a/mkspecs/common/gcc-base-unix.conf +++ b/mkspecs/common/gcc-base-unix.conf @@ -16,6 +16,7 @@ QMAKE_LFLAGS_SONAME += -Wl,-soname, QMAKE_LFLAGS_THREAD += QMAKE_LFLAGS_RPATH = -Wl,-rpath, QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link, +QMAKE_LFLAGS_USE_GOLD = -fuse-ld=gold # -Bsymbolic-functions (ld) support QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 6fb140b252..085527f28d 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -61,6 +61,8 @@ debug { QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE } +use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD + dll:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL static:mac: QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB staticlib:unix { diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index d26ffb4e21..01c8ab9bc3 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -78,6 +78,7 @@ QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows QMAKE_LFLAGS_DLL = -shared QMAKE_LFLAGS_CXX11 = QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections +QMAKE_LFLAGS_USE_GOLD = -fuse-ld=gold QMAKE_LINK_OBJECT_MAX = 10 QMAKE_LINK_OBJECT_SCRIPT = object_script QMAKE_PREFIX_STATICLIB = lib |