qt5base-lts/mkspecs
Thiago Macieira cb09e1e889 Automatically enable precompiled headers for Qt modules
We'll use the master depends header for the module as the precompilation
header. We could use the master include, but tests show that
precompilation benefits taper off for big precompiled headers. The
important part is to get the Standard Library headers precompiled.

Each module can still override which header to precompile by setting
PRECOMPILED_HEADER after load(qt_modules). It can also turn off
precompiled headers by setting that to empty or by CONFIG -=
precompile_header.

Testing a few build times shows the following improvements (GCC 4.8 with
-O3 and C++11):
  QtPrintSupport: 14.7%
  QtOpenGL:       22.7%
  QtDBus:         29.5%
  QtSvg:          -2.4%
  QtXmlPatterns:  26.1%
  QtQml:          21.6%
  QtQuick:        25.0%
  QtMultimedia:    9.0%
  QtSerialPort:  -30.0%
  QtHelp:          5.6%

The numbers also show that precompilation is worse for small modules.

Change-Id: I3793fafcedaff5456527cd6b3777ffd162975c36
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-27 06:26:57 +02:00
..
aix-g++ Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
aix-g++-64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
aix-xlc Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
aix-xlc-64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
android-g++ Merge remote-tracking branch 'origin/release' into stable 2014-05-01 13:08:42 +02:00
blackberry-armle-v7-qcc Rename QNX arm mkspecs to be aligned with SDP structure 2014-04-04 10:53:38 +02:00
blackberry-armv7le-qcc Rename BlackBerry arm mkspecs to be aligned with NDK structure 2013-10-23 19:09:54 +02:00
blackberry-x86-qcc BlackBerry,QNX: Switch to QMAKE_PLATFORM from CONFIG 2014-04-03 14:19:15 +02:00
common Merge remote-tracking branch 'origin/stable' into dev 2014-05-22 07:46:17 +02:00
cygwin-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
darwin-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
devices Merge remote-tracking branch 'origin/stable' into dev 2014-02-17 11:39:16 +01:00
features Automatically enable precompiled headers for Qt modules 2014-05-27 06:26:57 +02:00
freebsd-g++ Merge remote-tracking branch 'origin/stable' into dev 2014-02-17 11:39:16 +01:00
freebsd-g++46 Remove automated generation of dwarf index 2014-02-16 15:41:30 +01:00
freebsd-icc Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpux-acc Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpux-acc-64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpux-acc-o64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpux-g++ Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpux-g++-64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpuxi-acc-32 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpuxi-acc-64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hpuxi-g++-64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
hurd-g++ purge vestiges of opengl es 1 support 2014-04-04 19:32:21 +02:00
irix-cc expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
irix-cc-64 expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
irix-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
irix-g++-64 Add QMAKE_NM to the mkspecs 2013-06-10 16:46:06 +02:00
linux-arm-gnueabi-g++ Remove automated generation of dwarf index 2014-02-16 15:41:30 +01:00
linux-clang expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
linux-clang-libc++ Add mkspec for clang using libc++ on Linux. 2013-12-09 22:23:59 +01:00
linux-cxx expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
linux-g++ Merge remote-tracking branch 'origin/stable' into dev 2014-02-17 11:39:16 +01:00
linux-g++-32 Remove automated generation of dwarf index 2014-02-16 15:41:30 +01:00
linux-g++-64 Remove automated generation of dwarf index 2014-02-16 15:41:30 +01:00
linux-g++-maemo Remove automated generation of dwarf index 2014-02-16 15:41:30 +01:00
linux-icc Make the use of -ffunction-sections more generic in Qt 2014-05-19 19:33:15 +02:00
linux-icc-32 Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
linux-icc-64 Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
linux-kcc expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
linux-llvm Merge remote-tracking branch 'origin/stable' into dev 2014-02-17 11:39:16 +01:00
linux-lsb-g++ Merge remote-tracking branch 'origin/stable' into dev 2014-02-17 11:39:16 +01:00
linux-pgcc expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
lynxos-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
macx-clang qmake: Pick up default bundle prefix from Xcode preferences 2013-10-31 12:33:55 +01:00
macx-clang-32 qmake: Pick up default bundle prefix from Xcode preferences 2013-10-31 12:33:55 +01:00
macx-g++ qmake: Pick up default bundle prefix from Xcode preferences 2013-10-31 12:33:55 +01:00
macx-g++40 qmake: Pick up default bundle prefix from Xcode preferences 2013-10-31 12:33:55 +01:00
macx-g++42 qmake: Pick up default bundle prefix from Xcode preferences 2013-10-31 12:33:55 +01:00
macx-g++-32 qmake: Pick up default bundle prefix from Xcode preferences 2013-10-31 12:33:55 +01:00
macx-icc Make the use of -ffunction-sections more generic in Qt 2014-05-19 19:33:15 +02:00
macx-ios-clang Merge remote-tracking branch 'origin/release' into stable 2014-05-03 00:56:41 +02:00
macx-llvm qmake: Pick up default bundle prefix from Xcode preferences 2013-10-31 12:33:55 +01:00
macx-xcode macx-xcode: Change wrapper to write to QMAKESPEC to change mkspec 2013-10-14 12:07:53 +02:00
modules update readme to current reality 2012-01-27 13:55:27 +01:00
netbsd-g++ Merge remote-tracking branch 'origin/stable' into dev 2014-02-17 11:39:16 +01:00
openbsd-g++ Merge remote-tracking branch 'origin/stable' into dev 2014-02-17 11:39:16 +01:00
qnx-armle-v7-qcc QNX: Fix QDir::entryInfoList() 2014-04-14 16:47:51 +02:00
qnx-armv7le-qcc Merge remote-tracking branch 'origin/stable' into dev 2014-04-11 14:36:55 +02:00
qnx-x86-qcc QNX: Fix QDir::entryInfoList() 2014-04-14 16:47:51 +02:00
sco-cc expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
sco-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
solaris-cc expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
solaris-cc-64 expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
solaris-cc-64-stlport Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
solaris-cc-stlport Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
solaris-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
solaris-g++-64 expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
tru64-cxx expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
tru64-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
unixware-cc expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
unixware-g++ expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
unsupported purge vestiges of opengl es 1 support 2014-04-04 19:32:21 +02:00
win32-g++ Strip bootstrapped binaries of unused sections 2014-05-19 19:33:15 +02:00
win32-icc Fix building of Qt with icc on Windows 2014-03-06 17:22:55 +01:00
win32-msvc2005 encode the MSVC version in our mkspecs 2014-03-20 10:36:34 +01:00
win32-msvc2008 encode the MSVC version in our mkspecs 2014-03-20 10:36:34 +01:00
win32-msvc2010 encode the MSVC version in our mkspecs 2014-03-20 10:36:34 +01:00
win32-msvc2012 Windows XP target support for MSVC >= 2012 2014-04-03 18:31:45 +02:00
win32-msvc2013 Windows XP target support for MSVC >= 2012 2014-04-03 18:31:45 +02:00
wince60standard-armv4i-msvc2005 Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
wince60standard-x86-msvc2005 Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
wince70embedded-armv4i-msvc2008 Remove not supported mkspecs for Windows CE. 2013-08-15 11:37:27 +02:00
wince70embedded-x86-msvc2008 Remove not supported mkspecs for Windows CE. 2013-08-15 11:37:27 +02:00
winphone-arm-msvc2012 winphone: deploy default font files as DirectWrite is not supported 2014-03-25 08:05:21 +01:00
winphone-x86-msvc2012 winphone: deploy default font files as DirectWrite is not supported 2014-03-25 08:05:21 +01:00
winrt-arm-msvc2012 WinRT: Use correct architecture values in manifests and vs 2014-02-07 15:29:53 +01:00
winrt-arm-msvc2013 WinRT: Use correct architecture values in manifests and vs 2014-02-07 15:29:53 +01:00
winrt-x64-msvc2012 WinRT: Use correct architecture values in manifests and vs 2014-02-07 15:29:53 +01:00
winrt-x64-msvc2013 WinRT: Use correct architecture values in manifests and vs 2014-02-07 15:29:53 +01:00
winrt-x86-msvc2012 WinRT: Use correct architecture values in manifests and vs 2014-02-07 15:29:53 +01:00
winrt-x86-msvc2013 WinRT: Use correct architecture values in manifests and vs 2014-02-07 15:29:53 +01:00