qt5base-lts/mkspecs
Thiago Macieira fff3101bc6 Place classes from private headers in the Qt_5_PRIVATE_API ELF version
This way, it's possible to tell which applications and libraries depend
on the Qt private API and of which Qt library. Linux distributions can
use this information to decide which applications need to be recompiled
every time Qt itself is rebuilt.

This is done by scanning all class and struct definitions in the private
headers (we've already got the list from syncqt). I opted to add a new
script instead of modifying syncqt because then this can run in parallel
with the rest of the compilation, as opposed to during qmake
time. Another advantage is that it catches modifications to the headers
in between qmake executions.

Since this is already Unix specific, it should be no problem to use Perl.

This solution is limited to use of non-inline symbols of classes
declared in private headers. It will not catch free variables (such as
qsimd_p.h's qt_cpu_features), use of inlined functions or just plain use
of a class/struct for accessing its data members. However, this is
already better than nothing and should help Linux distributions quite a
lot. And there's no way to catch the latter issue anyway.

Change-Id: I049a653beeb5454c9539ffff13e3fff36400ebbd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-20 19:19:34 +00:00
..
aix-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
aix-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
aix-xlc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
aix-xlc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
android-g++ Merge remote-tracking branch 'origin/5.4' into 5.5 2015-03-31 10:03:31 +02:00
blackberry-armle-v7-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
blackberry-x86-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
common support relative paths in QMAKE_RPATHDIR 2015-10-20 17:18:16 +00:00
cygwin-g++ unify handling of library prefixes and extensions 2015-10-01 16:19:30 +00:00
darwin-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
devices Add support for the Jetson TK1 Pro using EGLDevice 2015-10-14 11:39:18 +00:00
features Place classes from private headers in the Qt_5_PRIVATE_API ELF version 2015-10-20 19:19:34 +00:00
freebsd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
freebsd-g++46 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
freebsd-icc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
haiku-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-acc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-acc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-acc-o64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpuxi-acc-32 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpuxi-acc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpuxi-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hurd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-cc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-cc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-arm-gnueabi-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-clang Update copyright headers 2015-02-11 06:49:51 +00:00
linux-clang-libc++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-cxx move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-g++ Fix for platform socklen_t on other C libraries than glibc. 2015-09-30 05:04:20 +00:00
linux-g++-32 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-icc ICC: Remove the -fno-jump-tables workaround. 2015-09-21 16:39:51 +00:00
linux-icc-32 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-icc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-kcc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-llvm Update copyright headers 2015-02-11 06:49:51 +00:00
linux-lsb-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-pgcc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
lynxos-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
macx-clang Update copyright headers 2015-02-11 06:49:51 +00:00
macx-clang-32 Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
macx-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++40 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++42 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++-32 Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
macx-icc Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
macx-ios-clang Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
macx-llvm Update copyright headers 2015-02-11 06:49:51 +00:00
macx-xcode Xcode: Set DYLD_IMAGE_SUFFIX=_debug when launching Debug configuration 2015-10-01 23:01:46 +00:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
openbsd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qnx-armle-v7-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
qnx-x86-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
sco-cc Update copyright headers 2015-02-11 06:49:51 +00:00
sco-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-cc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-cc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-cc-64-stlport Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-cc-stlport Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
tru64-cxx move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
tru64-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
unixware-cc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
unixware-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
unsupported move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
win32-g++ merge MingwMakefileGenerator::findLibraries() into Win32MakefileGenerator 2015-10-02 14:01:24 +00:00
win32-icc unify handling of library prefixes and extensions 2015-10-01 16:19:30 +00:00
win32-msvc2005 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2008 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2010 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2012 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2013 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2015 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
wince60standard-armv4i-msvc2005 Update copyright headers 2015-02-11 06:49:51 +00:00
wince60standard-x86-msvc2005 Update copyright headers 2015-02-11 06:49:51 +00:00
wince70embedded-armv4i-msvc2008 Update copyright headers 2015-02-11 06:49:51 +00:00
wince70embedded-x86-msvc2008 Update copyright headers 2015-02-11 06:49:51 +00:00
wince80colibri-armv7-msvc2012 Added Mkspec for Toradex WEC2013 SDK 2015-07-06 10:57:17 +00:00
winphone-arm-msvc2013 WinRT: Deployqt version/copyright information to dlls 2015-09-13 22:03:11 +00:00
winphone-x86-msvc2013 WinRT: Deployqt version/copyright information to dlls 2015-09-13 22:03:11 +00:00
winrt-arm-msvc2013 winrt: use correct winapi family defines in mkspecs and system detection 2015-10-20 14:29:16 +00:00
winrt-arm-msvc2015 winrt: use correct winapi family defines in mkspecs and system detection 2015-10-20 14:29:16 +00:00
winrt-x64-msvc2013 Update copyright headers 2015-02-11 06:49:51 +00:00
winrt-x64-msvc2015 winrt: use correct winapi family defines in mkspecs and system detection 2015-10-20 14:29:16 +00:00
winrt-x86-msvc2013 winrt: use correct winapi family defines in mkspecs and system detection 2015-10-20 14:29:16 +00:00
winrt-x86-msvc2015 winrt: use correct winapi family defines in mkspecs and system detection 2015-10-20 14:29:16 +00:00