70ea4e2b29
Apple will from February 1, 2015, require all applications uploaded to the App Store to be built for both 32-bit (armv7/s) and 64-bit (arm64). https://developer.apple.com/news/?id=10202014a We enable fat Qt binaries by passing both -arch armv7 and -arch arm64 to clang, which takes care of lipoing together the two slices for each object file. This unfortunately means twice the build time and twice the binary size for our libraries. Since precompiled headers are architecture specific, and the -Xarch option can't be used with -include-pch, we need to disable precompiled headers globally. This can be improved in the future by switching to pretokenized headers (http://clang.llvm.org/docs/PTHInternals.html). Since we're enabling 64-bit ARM builds, we're also switching the simulator builds from i386 to fat i386 and x86_64 builds, so that we are able to test 64-bit builds using the simulator, but we're keeping i386 as the architecture Qt is aware of when it's building for simulator, as we need the CPU features to match the lowest common denominator. Change-Id: I277e60bddae549d24ca3c6301d842405180aded6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
17 lines
615 B
Plaintext
17 lines
615 B
Plaintext
load(qt_config)
|
|
|
|
isEmpty(QT_ARCH) {
|
|
# The configure tests are run without QT_ARCH being resolved yet, which
|
|
# means we fail to pass -arch to the compiler, resulting in broke tests.
|
|
# As the Xcode toolchain doesn't seem to have a way to auto-detect the
|
|
# arch based on the SDK, we have to hard-code the arch for configure.
|
|
contains(QMAKE_MAC_SDK, iphoneos.*): \
|
|
QT_ARCH = arm
|
|
else: \ # Simulator
|
|
QT_ARCH = i386
|
|
|
|
# Prevent the arch/config tests from building as multi-arch binaries,
|
|
# as we only want the lowest common denominator features.
|
|
CONFIG += single_arch
|
|
}
|