GN iOS: Build support for FAT arm/arm64/x86/x64 frameworks |
||||
Issue descriptionWe want to build unsigned FAT frameworks for public releases of our API (e.g. via CocoaPods). Today we do this by making GN compile the architectures separately and then lipo-ing the results together. Since we now have additional_target_cpus it would make sense for this to be supported directly by the GN toolchain.
,
Oct 11 2016
What do you mean by "directly supported by the GN toolchain"?
,
Oct 11 2016
iiuc today you can say target_cpu="arm" additional_target_cpus=["arm64"] by supported by toolchain, I'm proposing support for: target_cpu="arm" additional_target_cpus=["arm64", "x86", "x64"] which doesn't work today, but is exactly what we want
,
Oct 11 2016
Hm. sdefresne@ should confirm, but it kinda looks to me like that should just work.
,
Oct 11 2016
This is currently unsupported because secondary architectures (those listed in addition_target_cpus) expect some target to exist for the primary architecture (listed in target_cpu). However, due to the difference in how device and simulator code signature, this is not the case. There may also exists other incompatibilities.
,
Oct 13 2016
,
Oct 13 2016
It came up during recent discussion in the Chrome on iOS team that this would be useful to have for Chrome on iOS too (not limited to WebRTC), so raising priority.
,
Oct 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4f7dea0a1f25b46d0d3d5159142f7560dae409ab commit 4f7dea0a1f25b46d0d3d5159142f7560dae409ab Author: sdefresne <sdefresne@chromium.org> Date: Wed Oct 19 21:12:31 2016 Fix compilation of uber-fat binaries. Fix compilation of fat binaries supporting both device and simulator by always defining the target to generate the embedded entitlement file in the default toolchain. Fix native_client_sdk/src/build_tools/build_sdk.py to not override use_ios_simulator (as this should not be a configurable variable) and make the variable non configurable. Note that uber-fat builds cannot be used as-is and require some processing to tweak the Info.plist file (CFBundleSupportedPlatforms and DTPlatformName reference the target platform). BUG= 654827 Review-Url: https://chromiumcodereview.appspot.com/2437593005 Cr-Commit-Position: refs/heads/master@{#426285} [modify] https://crrev.com/4f7dea0a1f25b46d0d3d5159142f7560dae409ab/build/config/ios/ios_sdk.gni [modify] https://crrev.com/4f7dea0a1f25b46d0d3d5159142f7560dae409ab/build/config/ios/rules.gni [modify] https://crrev.com/4f7dea0a1f25b46d0d3d5159142f7560dae409ab/native_client_sdk/PRESUBMIT.py [modify] https://crrev.com/4f7dea0a1f25b46d0d3d5159142f7560dae409ab/native_client_sdk/src/build_tools/build_sdk.py
,
Oct 19 2016
|
||||
►
Sign in to add a comment |
||||
Comment 1 by tkchin@webrtc.org
, Oct 11 2016