• Tor Arne Vestbø's avatar
    iOS: Enable fat builds containing both armv7 and arm64 slices · 70ea4e2b
    Tor Arne Vestbø authored
    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: default avatarSimon Hausmann <simon.hausmann@digia.com>
    70ea4e2b