I understand that ENABLE_BITCODE will build the executable with LLVM bitcode so that the App Store can compile it to arm64 or armv7 before delivering to devices. Naturally many developers will depend on open and third party licensed source code which don't directly use xcodebuild
but may want to take advantage of this feature.
Libraries like libjpeg-turbo are built using the standard configure + make, which uses clang directly. I assume that the xcodebuild ENABLE_BITCODE option must end up instructing clang to only build LLVM during the Archive for App Store process.
So in a nutshell, what is the effect of using this flag on the underlying build and can I emulate it? My assumption is that the app bundle sent to apple shall ONLY be composed of LLVM bitcode (e.g. no target architecture binary is shipped with the bundle).
I've watched the WWDC videos on app thinning. I can't believe information like this wouldn't be included.
EDIT: Another problem is the fact that many third party dependencies have a lot of hardcoded assembly. Does the ENABLE_BITCODE flag have any impact of converting the platform specific assembly to LLVM bitcode?