summaryrefslogtreecommitdiffstats
path: root/mkspecs/macx-icc
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-06-26 14:56:06 -0700
committerhjk <hjk121@nokiamail.com>2014-07-23 11:12:02 +0200
commit1bd27f24fb7f7d82f4b67cffe43e0af644709106 (patch)
tree4f35d7ed8bb0a9e5f7a4381e0b09f69414d8f9d5 /mkspecs/macx-icc
parent849d1fece1da7136911464bc47439b4126145440 (diff)
Add link-time optimization support for Clang, GCC and ICC
GCC currently requires fat object files for static libraries, since the linker would otherwise not load the .o file from the archive at all and the linking would fail with a lot of undefined references. Clang on Linux also needs this, but it has no equivalent flag, so enabling LTCG for Clang on static libraries will result in linker error. This commit does not add support for enabling it in configure. It can be enabled on a per-project basis by doing CONFIG += ltcg or by passing -config ltcg to qmake's command-line. Change-Id: I52cf99f1ed9f1701e23a3b457ba3502fd28126ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'mkspecs/macx-icc')
-rw-r--r--mkspecs/macx-icc/qmake.conf3
1 files changed, 3 insertions, 0 deletions
diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf
index 370a738c6a..88b04976f2 100644
--- a/mkspecs/macx-icc/qmake.conf
+++ b/mkspecs/macx-icc/qmake.conf
@@ -23,6 +23,7 @@ QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_THREAD =
QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections
+QMAKE_CFLAGS_LTCG = -ipo
QMAKE_CFLAGS_SSE2 += -msse2
QMAKE_CFLAGS_SSE3 += -msse3
@@ -54,6 +55,7 @@ QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
# Disabled, due to invalid C++11 code on Apple headers
#QMAKE_CXXFLAGS_CXX11 = -std=c++11
QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
+QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
QMAKE_LINK = icpc
QMAKE_LINK_SHLIB = icpc
@@ -66,6 +68,7 @@ QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -install_name$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_THREAD =
QMAKE_LFLAGS_RPATH =
+QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
QMAKE_LFLAGS_VERSION = -current_version$${LITERAL_WHITESPACE}
QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}