Explicitly set target_subarch for iOS (re-land)
Since the approach in https://webrtc-codereview.appspot.com/48869004/
was not possible, this is the only way to set
the target_subarch GYP_DEFINES for iOS.
WebRTC doesn't use or support the target_subarch
GYP variable in the same way as Chromium does, and we
currently don't build fat binaries at our buildbots.
This is needed to unblock the chromium_revision roll in
https://webrtc-codereview.appspot.com/50569004/ and it
also makes it a bit easier to build for iOS since it
is no longer needed to set target_subarch=arm64 when
target_arch=arm64 (i.e. when you build for ARM64).
BUG=4503
TESTED=Ran successful project generations using:
GYP_DEFINES="OS=ios target_arch=arm" webrtc/build/gyp_webrtc
and verified the -arch compiler flag was set to 'armv7'
GYP_DEFINES="OS=ios target_arch=arm64" webrtc/build/gyp_webrtc
and verified the -arch compiler flag was set to 'arm64'
R=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48909004
Cr-Commit-Position: refs/heads/master@{#8949}
diff --git a/webrtc/build/gyp_webrtc b/webrtc/build/gyp_webrtc
index edc6b36..b96b2d8 100755
--- a/webrtc/build/gyp_webrtc
+++ b/webrtc/build/gyp_webrtc
@@ -78,11 +78,11 @@
args.append('--check')
supplemental_includes = GetSupplementalFiles()
- gn_vars_dict = gyp_chromium.GetGypVars(supplemental_includes)
+ gyp_vars = gyp_chromium.GetGypVars(supplemental_includes)
# Automatically turn on crosscompile support for platforms that need it.
if all(('ninja' in os.environ.get('GYP_GENERATORS', ''),
- gn_vars_dict.get('OS') in ['android', 'ios'],
+ gyp_vars.get('OS') in ['android', 'ios'],
'GYP_CROSSCOMPILE' not in os.environ)):
os.environ['GYP_CROSSCOMPILE'] = '1'
@@ -90,6 +90,18 @@
gyp_chromium.additional_include_files(supplemental_includes,
args)])
+ # Set target_subarch for iOS builds if not already set.
+ if gyp_vars.get('OS') == 'ios' and 'target_subarch' not in gyp_vars:
+ os.environ.setdefault('GYP_DEFINES', '')
+ target_subarch = None
+ if gyp_vars.get('target_arch') == 'arm' :
+ target_subarch = 'arm32'
+ elif gyp_vars.get('target_arch') == 'arm64':
+ target_subarch = 'arm64'
+ if target_subarch:
+ print 'INFO: Appending target_subarch=%s to GYP_DEFINES' % target_subarch
+ os.environ['GYP_DEFINES'] += ' target_subarch=%s' % target_subarch
+
# Set the gyp depth variable to the root of the checkout.
args.append('--depth=' + os.path.relpath(checkout_root))