qt5base-lts/mkspecs
Thiago Macieira 859eb2467d Add qmake config for controlling LTCG behavior for static libs
Static libraries may get installed and used by other builds, which may
be done with a different version or build of the compiler. So this
commit introduces two new flags:
 - no-static-ltcg: disables LTCG completely for static libraries
 - fat-static-lto: forces static libraries to produce fat LTO objects

fat-static-lto is useful for Linux distributions, since installed static
libraries should not carry LTO information, but that information is
useful during Qt's own build. This feature should be used alongside some
compiler-specific method of removing the LTO information from the
static libraries prior to installation, so only the regular part
remains.

For current GCC versions, this command suffices:
  strip -R '.gnu.lto*' -R '.gnu.debuglto*' libname.a

Otherwise, distributions can use "no-static-ltcg" to disable it
completely.

Change-Id: I495bc19409f348069f5bfffd155237ade9f4b42f
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2019-06-17 15:27:51 +00:00
..
aix-g++ Updated license headers 2016-01-15 12:25:24 +00:00
aix-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
android-clang Merge remote-tracking branch 'origin/5.12' into 5.13 2019-06-14 01:00:09 +02:00
android-g++ Android: Prepare for the worst, when the NDK will remove all GNU tools 2018-11-19 11:45:20 +00:00
common Merge remote-tracking branch 'origin/5.12' into 5.13 2019-05-09 13:06:11 +00:00
cygwin-g++ Updated license headers 2016-01-15 12:25:24 +00:00
darwin-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
devices Fix configure comment in/for -device linux-rasp-pi3-vc4-g++ 2019-06-04 17:22:35 +09:00
dummy move all target spec handling to qmake-based configure system 2016-12-13 18:56:34 +00:00
features Add qmake config for controlling LTCG behavior for static libs 2019-06-17 15:27:51 +00:00
freebsd-clang make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
freebsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
haiku-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
hpuxi-g++-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
hurd-g++ Add <features.h> include to hurd-g++ mkspec 2019-02-14 14:24:56 +00:00
integrity-armv7 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-armv7-imx6 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-armv8-rcar integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-x86 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
linux-aarch64-gnu-g++ Add new mkspec for cross-compiling Qt5 for AArch64 2017-03-31 00:34:48 +00:00
linux-arm-gnueabi-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
linux-clang-32 add mkspecs for linux clang 32 2018-08-31 05:34:46 +00:00
linux-clang-libc++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang-libc++-32 add mkspecs for linux clang 32 2018-08-31 05:34:46 +00:00
linux-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
linux-g++-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc centralize ICC flags for *nix-systems toolchains 2018-06-22 17:04:06 +00:00
linux-icc-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc-k1om linux-icc-k1om build 2017-02-21 14:27:16 +00:00
linux-llvm Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
linux-lsb-g++ qmake: link qt libraries by full path 2019-04-15 05:41:08 +00:00
lynxos-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
macx-clang macOS: Share deployment target and device arch config between makespecs 2018-08-23 13:09:46 +00:00
macx-g++ macOS: Share deployment target and device arch config between makespecs 2018-08-23 13:09:46 +00:00
macx-icc macOS: Share deployment target and device arch config between makespecs 2018-08-23 13:09:46 +00:00
macx-ios-clang iOS/tvOS/watchOS: Bump deployment targets 2018-08-24 11:38:16 +00:00
macx-tvos-clang iOS/tvOS/watchOS: Bump deployment targets 2018-08-24 11:38:16 +00:00
macx-watchos-clang iOS/tvOS/watchOS: Bump deployment targets 2018-08-24 11:38:16 +00:00
macx-xcode macOS: Disable main thread checker for Xcode test target 2018-11-12 07:16:26 +00:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
openbsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
qnx-aarch64le-qcc Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
qnx-armle-v7-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
qnx-x86-64-qcc Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
qnx-x86-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
solaris-cc Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-cc-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-cc-64-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-g++-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
unsupported Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
wasm-emscripten Fix emar invocation on Windows for MinGW 2019-05-13 04:37:47 +00:00
win32-arm64-msvc2017 Add Windows Desktop arm64 target to Qtbase 2018-11-11 09:05:10 +00:00
win32-clang-g++ mkspecs: Factorize common parts of win32-g++ and win32-clang-g++ 2018-02-21 18:08:01 +00:00
win32-clang-msvc Fix precompiled headers with clang-cl 2019-04-09 21:58:54 +00:00
win32-g++ Merge remote-tracking branch 'origin/5.12' into 5.13 2019-04-02 01:00:26 +02:00
win32-icc Fix qtbase build for clang-cl with MSVC 2017 15.8 2018-08-24 12:00:43 +00:00
win32-icc-k1om linux-icc-k1om build 2017-02-21 14:27:16 +00:00
win32-msvc unify windows mkspecs: define c++ flags explicitly 2018-02-22 18:45:15 +00:00
winrt-arm64-msvc2017 Add arm64 winrt target 2019-01-24 21:04:20 +00:00
winrt-arm64-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00
winrt-arm-msvc2015 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-arm-msvc2017 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-arm-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00
winrt-x64-msvc2015 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x64-msvc2017 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x64-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00
winrt-x86-msvc2015 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x86-msvc2017 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x86-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00