qt5base-lts/tools/configure
Thiago Macieira 6315745770 Strip bootstrapped binaries of unused sections
This matches the -ffunction-sections from bootstrap.pro, which tells the
compiler to create a section for each function. The -gc-sections option
tells the linker to drop what wasn't used (normally, it only drops
entire files).

Before (on Linux, built with -O3, no LTO):
   text    data     bss     dec     hex filename
1746385    7920    3750 1758055  1ad367 bin/moc
1444101    6664    1894 1452659  162a73 bin/rcc
4407725    1568    4896 4414189  435aed bin/qmake

After:
   text    data     bss     dec     hex filename
1131655    6520    3494 1141669  116ba5 bin/moc
1027043    5480    1766 1034289   fc831 bin/rcc
3578489    1656    5313 3585458  36b5b2 bin/qmake

Gain: 35% on moc, 28% on rcc, 19% on qmake

Before (on OS X):
__TEXT	__DATA	__OBJC	others	dec	hex
1495040	12288	0	4294993008	4296500336	100176470	bin/moc
1265664	8192	0	4294983904	4296257760	10013b0e0	bin/rcc
5279744	81920	0	4297912320	4303273984	1007ec000	bin/qmake

After:
__TEXT	__DATA	__OBJC	others	dec	hex
806912	8192	0	4294988132	4295803236	1000cc164	bin/moc
720896	8192	0	4294979764	4295708852	1000b50b4	bin/rcc
4841472	77824	0	4295580688	4300499984	100546c10	bin/qmake

Gain: 46% on moc, 43% on rcc, 8% on qmake.

Change-Id: Icc7cdc9fd6f5db15537b4adabaac7e7a27e539d4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-19 19:33:15 +02:00
..
configure_pch.h Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
configure.pro Replace win32-g++ with mingw scope 2014-01-17 12:08:24 +01:00
configureapp.cpp Strip bootstrapped binaries of unused sections 2014-05-19 19:33:15 +02:00
configureapp.h Revert "Automatically link printsupport plugins to static applications." 2014-04-18 07:44:57 +02:00
environment.cpp expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
environment.h add support for Visual Studio 2013 2013-07-04 12:54:58 +02:00
main.cpp expand tabs and related whitespace fixes in *.{cpp,h,qdoc} 2014-01-13 22:46:50 +01:00
Makefile.mingw Fix configure & qmake compilation with a future MSVC version 2014-02-01 06:56:45 +01:00
Makefile.win32 Fix configure & qmake compilation with a future MSVC version 2014-02-01 06:56:45 +01:00
tools.cpp Use configure -confirm-license option also in commercial Qt versions 2014-04-01 11:15:52 +02:00
tools.h Externalize license key handling from configure 2014-03-25 12:50:28 +01:00