| Index: tools-webrtc/ios/build_ios_libs.py
|
| diff --git a/tools-webrtc/ios/build_ios_libs.py b/tools-webrtc/ios/build_ios_libs.py
|
| index 550c7a1b70bcda95f7329d8319a3d7758be2c83c..2893df1df974f6f5560a75b1253d0aea71a953da 100755
|
| --- a/tools-webrtc/ios/build_ios_libs.py
|
| +++ b/tools-webrtc/ios/build_ios_libs.py
|
| @@ -34,7 +34,6 @@ SDK_FRAMEWORK_NAME = 'WebRTC.framework'
|
| ENABLED_ARCHITECTURES = ['arm', 'arm64', 'x64']
|
| IOS_DEPLOYMENT_TARGET = '8.0'
|
| LIBVPX_BUILD_VP9 = False
|
| -CUSTOM_GN_OPTS = [] # example: ['some_option=foo bar', 'other_option=true']
|
|
|
|
|
| def _ParseArgs():
|
| @@ -58,6 +57,11 @@ def _ParseArgs():
|
| help='Compile with bitcode.')
|
| parser.add_argument('--verbose', action='store_true', default=False,
|
| help='Debug logging.')
|
| + parser.add_argument('--use-goma', action='store_true', default=False,
|
| + help='Use goma to build.')
|
| + parser.add_argument('--extra-gn-args', default=[], nargs='*',
|
| + help='Additional GN args to be used during Ninja generation.')
|
| +
|
| return parser.parse_args()
|
|
|
|
|
| @@ -74,7 +78,7 @@ def _CleanArtifacts(output_dir):
|
|
|
| def BuildWebRTC(output_dir, target_arch, flavor, build_type,
|
| ios_deployment_target, libvpx_build_vp9, use_bitcode,
|
| - custom_gn_options=()):
|
| + use_goma, extra_gn_args):
|
| output_dir = os.path.join(output_dir, target_arch + '_libs')
|
| gn_args = ['target_os="ios"', 'ios_enable_code_signing=false',
|
| 'use_xcode_clang=true', 'is_component_build=false']
|
| @@ -96,8 +100,7 @@ def BuildWebRTC(output_dir, target_arch, flavor, build_type,
|
|
|
| gn_args.append('enable_ios_bitcode=' +
|
| ('true' if use_bitcode else 'false'))
|
| -
|
| - gn_args.extend(custom_gn_options)
|
| + gn_args.append('use_goma=' + ('true' if use_goma else 'false'))
|
|
|
| # Generate static or dynamic.
|
| if build_type == 'static_only':
|
| @@ -111,7 +114,7 @@ def BuildWebRTC(output_dir, target_arch, flavor, build_type,
|
|
|
| logging.info('Building WebRTC with args: %s', ' '.join(gn_args))
|
| cmd = ['gn', 'gen', output_dir,
|
| - '--args=' + ' '.join(gn_args)]
|
| + '--args=' + ' '.join(gn_args + extra_gn_args)]
|
| _RunCommand(cmd)
|
| logging.info('Building target: %s', gn_target_name)
|
| cmd = ['ninja', '-C', output_dir, gn_target_name]
|
| @@ -139,7 +142,7 @@ def main():
|
| for arch in ENABLED_ARCHITECTURES:
|
| BuildWebRTC(args.output_dir, arch, args.build_config, args.build_type,
|
| IOS_DEPLOYMENT_TARGET, LIBVPX_BUILD_VP9, args.bitcode,
|
| - CUSTOM_GN_OPTS)
|
| + args.use_goma, args.extra_gn_args)
|
|
|
| # Ignoring x86 except for static libraries for now because of a GN build issue
|
| # where the generated dynamic framework has the wrong architectures.
|
| @@ -148,7 +151,7 @@ def main():
|
| if args.build_type == 'static_only':
|
| BuildWebRTC(args.output_dir, 'x86', args.build_config, args.build_type,
|
| IOS_DEPLOYMENT_TARGET, LIBVPX_BUILD_VP9, args.bitcode,
|
| - CUSTOM_GN_OPTS)
|
| + args.use_goma, args.extra_gn_args)
|
|
|
| arm_lib_path = os.path.join(args.output_dir, 'arm_libs', SDK_LIB_NAME)
|
| arm64_lib_path = os.path.join(args.output_dir, 'arm64_libs', SDK_LIB_NAME)
|
|
|