36c6b7ee4d
If the QMAKE_CXXFLAGS already had -ffat-lto-objects, the *= wouldn't add it it again, after our "-flto -fno-fat-lto-objects", which meant the last one would stand. Change-Id: Ic9cfa6256b5045caa6e6fffd15a7f6cda7aaa837 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
CONFIG(release, debug|release) {
|
|
# We need fat object files when creating static libraries on some platforms
|
|
# so the linker will know to load a particular object from the library
|
|
# in the first place. On others, we have special ar and nm to create the symbol
|
|
# tables so the linker will know better. For other compilers, we disable LTCG
|
|
# for static libraries.
|
|
msvc {
|
|
# Nothing to do
|
|
} else {
|
|
!isEmpty(QMAKE_AR_LTCG): QMAKE_AR = $$QMAKE_AR_LTCG
|
|
!isEmpty(QMAKE_NM_LTCG): QMAKE_NM = $$QMAKE_NM_LTCG
|
|
|
|
equals(QMAKE_RANLIB_LTCG, true): QMAKE_RANLIB =
|
|
else: !isEmpty(QMAKE_RANLIB_LTCG): QMAKE_RANLIB = $$QMAKE_RANLIB_LTCG
|
|
|
|
static:isEmpty(QMAKE_AR_LTCG):isEmpty(QMAKE_RANLIB_LTCG) {
|
|
# We don't know how to create symbol tables for static libs with this
|
|
# compiler, so disable LTCG
|
|
QMAKE_CFLAGS_LTCG =
|
|
QMAKE_CXXFLAGS_LTCG =
|
|
QMAKE_LFLAGS_LTCG =
|
|
}
|
|
}
|
|
|
|
fat-lto {
|
|
QMAKE_CFLAGS_LTCG += $$QMAKE_CFLAGS_LTCG_FATOBJECTS
|
|
QMAKE_CXXFLAGS_LTCG += $$QMAKE_CXXFLAGS_LTCG_FATOBJECTS
|
|
}
|
|
|
|
load(link_ltcg)
|
|
QMAKE_CFLAGS -= $$QMAKE_CFLAGS_LTCG
|
|
QMAKE_CFLAGS += $$QMAKE_CFLAGS_LTCG
|
|
QMAKE_CXXFLAGS -= $$QMAKE_CXXFLAGS_LTCG
|
|
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_LTCG
|
|
QMAKE_LFLAGS -= $$QMAKE_LFLAGS_LTCG
|
|
QMAKE_LFLAGS += $$QMAKE_LFLAGS_LTCG
|
|
}
|