Don't hardcode gn target path for licence generation.
This fixes a bug where the generated license for the framework was missing all third party dependencies.
Bug: None
Change-Id: I81331f7f4d32e3302ce6ce0430272904820ce6d6
Reviewed-on: https://chromium-review.googlesource.com/530689
Commit-Queue: Kári Tristan Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Reviewed-by: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18556}
diff --git a/tools_webrtc/ios/build_ios_libs.py b/tools_webrtc/ios/build_ios_libs.py
index 412ad67..0081998 100755
--- a/tools_webrtc/ios/build_ios_libs.py
+++ b/tools_webrtc/ios/build_ios_libs.py
@@ -90,9 +90,9 @@
shutil.rmtree(arch_lib_path)
-def BuildWebRTC(output_dir, target_arch, flavor, build_type,
+def BuildWebRTC(output_dir, target_arch, flavor, gn_target_name,
ios_deployment_target, libvpx_build_vp9, use_bitcode,
- use_goma, extra_gn_args):
+ use_goma, extra_gn_args, static_only):
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']
@@ -116,17 +116,6 @@
('true' if use_bitcode else 'false'))
gn_args.append('use_goma=' + ('true' if use_goma else 'false'))
- # Generate static or dynamic.
- if build_type == 'static_only':
- gn_target_name = 'rtc_sdk_objc'
- elif build_type == 'framework':
- gn_target_name = 'objc_framework'
- if not use_bitcode:
- gn_args.append('enable_dsyms=true')
- gn_args.append('enable_stripping=true')
- else:
- raise ValueError('Build type "%s" is not supported.' % build_type)
-
args_string = ' '.join(gn_args + extra_gn_args)
logging.info('Building WebRTC with args: %s', args_string)
@@ -140,7 +129,7 @@
_RunCommand(cmd)
# Strip debug symbols to reduce size.
- if build_type == 'static_only':
+ if static_only:
gn_target_path = os.path.join(output_dir, 'obj', 'webrtc', 'sdk',
'lib%s.a' % gn_target_name)
cmd = ['strip', '-S', gn_target_path, '-o',
@@ -158,6 +147,7 @@
return 0
architectures = list(args.arch)
+ gn_args = args.extra_gn_args
if args.purify:
_CleanTemporary(args.output_dir, architectures)
@@ -168,11 +158,23 @@
if 'x86' in architectures and args.build_type != 'static_only':
architectures.remove('x86')
+ # Generate static or dynamic.
+ if args.build_type == 'static_only':
+ gn_target_name = 'rtc_sdk_objc'
+ elif args.build_type == 'framework':
+ gn_target_name = 'objc_framework'
+ if not args.bitcode:
+ gn_args.append('enable_dsyms=true')
+ gn_args.append('enable_stripping=true')
+ else:
+ raise ValueError('Build type "%s" is not supported.' % args.build_type)
+
+
# Build all architectures.
for arch in architectures:
- BuildWebRTC(args.output_dir, arch, args.build_config, args.build_type,
+ BuildWebRTC(args.output_dir, arch, args.build_config, gn_target_name,
IOS_DEPLOYMENT_TARGET, LIBVPX_BUILD_VP9, args.bitcode,
- args.use_goma, args.extra_gn_args)
+ args.use_goma, gn_args, args.build_type == 'static_only')
# Create FAT archive.
if args.build_type == 'static_only':
@@ -225,7 +227,7 @@
license_script_path = os.path.join(SCRIPT_DIR, 'generate_licenses.py')
ninja_dirs = [os.path.join(args.output_dir, arch + '_libs')
for arch in architectures]
- gn_target_full_name = '//webrtc/sdk:rtc_sdk_framework_objc'
+ gn_target_full_name = '//webrtc/sdk:' + gn_target_name
cmd = [sys.executable, license_script_path, gn_target_full_name,
os.path.join(args.output_dir, SDK_FRAMEWORK_NAME)] + ninja_dirs
_RunCommand(cmd)