qt5base-lts/mkspecs
Jake Petroules 397f345a6a Remove simulator_and_device handling for the Makefile generator
This patch moves towards a more sensible layout for UIKit platforms,
where both the device and simulator architectures for binaries are
combined into a single Mach-O file instead of separating out the
simulator architecutures into separate _simulator.a files.

This approach is both more common in the iOS ecosystem at large and
significantly simplifies the implementation details for Qt, especially
with the upcoming support for shared libraries on UIKit platforms.

This patch takes advantage of the -Xarch compiler option to pass the
appropriate -isysroot, -syslibroot, and -m*-version-min compiler and
linker flags to the clang frontend, operating in exactly the same way
as a normal multi-arch build for device or simulator did previously.
Exclusive builds are still enabled for the xcodebuild wrapper Makefile,
which builds all four configurations of a UIKit Xcode project as before,
as expected.

A particularly advantageous benefit of this change is that it flows very
well with existing Xcode workflows, namely that:
- Slicing out unused architectures is handled completely automatically
  for static builds, as an executable linking to a library with more
  architectures than it itself is linked as, the unused architectures
  will be ignored silently, resulting in the same behavior for users
  (and the App Store won't let you submit Intel architectures either).
- Removing architectures from a fat binary using lipo does NOT
  invalidate the code signature of that file or its container if it is a
  bundle. This allows shared library and framework builds of Qt to work
  mostly automatically as well, since an Xcode shell script build phase
  can remove unused architectures from the embedded frameworks when that
  is implemented, and if Qt ever starts signing its SDK releases, it
  won't interfere with that either (though binaries are just resigned).

Change-Id: I6c3578c78f75845a2fcc85f3a5b728ec997dbe90
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-09-03 09:47:56 +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
aix-xlc Updated license headers 2016-01-15 12:25:24 +00:00
aix-xlc-64 Updated license headers 2016-01-15 12:25:24 +00:00
android-clang Revert "Android: use gold linker" 2016-08-16 13:31:38 +00:00
android-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-08-18 11:07:51 +02:00
common Merge remote-tracking branch 'origin/5.7' into 5.8 2016-08-29 15:30:17 +02:00
cygwin-g++ Updated license headers 2016-01-15 12:25:24 +00:00
darwin-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-20 08:00:26 +02:00
devices Merge remote-tracking branch 'origin/5.7' into dev 2016-08-16 07:58:32 +02:00
features Remove simulator_and_device handling for the Makefile generator 2016-09-03 09:47:56 +00:00
freebsd-clang Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-20 08:00:26 +02:00
freebsd-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-20 08:00:26 +02:00
haiku-g++ Updated license headers 2016-01-15 12:25:24 +00:00
hpux-acc Updated license headers 2016-01-15 12:25:24 +00:00
hpux-acc-64 Updated license headers 2016-01-15 12:25:24 +00:00
hpux-acc-o64 Updated license headers 2016-01-15 12:25:24 +00:00
hpux-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
hpux-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
hpuxi-acc-32 Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
hpuxi-acc-64 Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
hpuxi-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
hurd-g++ Clean up some unused variables in the qmake.conf files 2016-06-23 19:43:04 +00:00
integrity-armv7 Add INTEGRITY Framebuffer-based plugin as a platform plugin. 2016-03-22 10:42:03 +00:00
integrity-armv7-imx6 Add support for INTEGRITY with eglfs-viv. 2016-03-22 10:45:31 +00:00
integrity-x86 Add INTEGRITY Framebuffer-based plugin as a platform plugin. 2016-03-22 10:42:03 +00:00
irix-cc Updated license headers 2016-01-15 12:25:24 +00:00
irix-cc-64 Updated license headers 2016-01-15 12:25:24 +00:00
irix-g++ Updated license headers 2016-01-15 12:25:24 +00:00
irix-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-arm-gnueabi-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang-libc++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-cxx Updated license headers 2016-01-15 12:25:24 +00:00
linux-g++ Updated license headers 2016-01-15 12:25: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 Updated license headers 2016-01-15 12:25:24 +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-kcc Updated license headers 2016-01-15 12:25:24 +00:00
linux-llvm Updated license headers 2016-01-15 12:25:24 +00:00
linux-lsb-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-pgcc Updated license headers 2016-01-15 12:25:24 +00:00
lynxos-g++ Updated license headers 2016-01-15 12:25:24 +00:00
macx-clang Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
macx-clang-32 Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
macx-g++ Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-g++40 Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-g++42 Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-g++-32 Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-icc Merge remote-tracking branch 'origin/5.6' into 5.7 2016-04-25 14:03:45 +02:00
macx-ios-clang Move ios_devices.pl into uikit folder 2016-08-30 18:14:32 +00:00
macx-llvm Merge remote-tracking branch 'origin/5.7' into dev 2016-06-23 14:24:55 +02:00
macx-tvos-clang Add support for Apple tvOS 2016-05-17 16:11:23 +00:00
macx-watchos-clang Add support for Apple watchOS 2016-08-19 21:05:55 +00:00
macx-xcode Merge remote-tracking branch 'origin/5.6' into 5.7 2016-08-25 16:12:11 +02:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-07-04 15:58:39 +02:00
openbsd-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-07-15 20:47:57 +02:00
qnx-aarch64le-qcc Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
qnx-armle-v7-qcc Updated license headers 2016-01-15 12:25:24 +00:00
qnx-x86-64-qcc Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
qnx-x86-qcc Updated license headers 2016-01-15 12:25:24 +00:00
sco-cc Updated license headers 2016-01-15 12:25:24 +00:00
sco-g++ Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc-64 Updated license headers 2016-01-15 12:25: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++ Updated license headers 2016-01-15 12:25:24 +00:00
solaris-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
tru64-cxx Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
tru64-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-23 10:29:37 +02:00
unixware-cc Updated license headers 2016-01-15 12:25:24 +00:00
unixware-g++ Updated license headers 2016-01-15 12:25:24 +00:00
unsupported Merge remote-tracking branch 'origin/5.6' into 5.7 2016-06-10 23:27:10 +02:00
win32-clang-msvc2015 Add initial clang-cl support to Qt 2016-02-11 12:54:06 +00:00
win32-g++ Merge remote-tracking branch 'origin/5.6' into 5.7 2016-02-29 12:34:31 +01:00
win32-icc Merge remote-tracking branch 'origin/5.6' into 5.7 2016-03-23 08:29:43 +01:00
win32-msvc2005 Updated license headers 2016-01-15 12:25:24 +00:00
win32-msvc2008 Updated license headers 2016-01-15 12:25:24 +00:00
win32-msvc2010 Updated license headers 2016-01-15 12:25:24 +00:00
win32-msvc2012 Updated license headers 2016-01-15 12:25:24 +00:00
win32-msvc2013 Updated license headers 2016-01-15 12:25:24 +00:00
win32-msvc2015 Updated license headers 2016-01-15 12:25:24 +00:00
winphone-arm-msvc2013 Updated license headers 2016-01-15 12:25:24 +00:00
winphone-x86-msvc2013 Updated license headers 2016-01-15 12:25:24 +00:00
winrt-arm-msvc2013 Updated license headers 2016-01-15 12:25:24 +00:00
winrt-arm-msvc2015 Updated license headers 2016-01-15 12:25:24 +00:00
winrt-x64-msvc2013 Updated license headers 2016-01-15 12:25:24 +00:00
winrt-x64-msvc2015 Updated license headers 2016-01-15 12:25:24 +00:00
winrt-x86-msvc2013 Updated license headers 2016-01-15 12:25:24 +00:00
winrt-x86-msvc2015 Updated license headers 2016-01-15 12:25:24 +00:00