Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(599)

Unified Diff: components/cronet/tools/package_ios.py

Issue 2170643002: [Cronet] Better GN for Cronet on iOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove spurious period. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/cronet/tools/cr_cronet.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/cronet/tools/package_ios.py
diff --git a/components/cronet/tools/package_ios.py b/components/cronet/tools/package_ios.py
index fa2529932989f7d80e490f74485255327e6e4f88..ffebd634319ae52d8a5aa252397f18e838cb33a6 100755
--- a/components/cronet/tools/package_ios.py
+++ b/components/cronet/tools/package_ios.py
@@ -89,57 +89,44 @@ def package_ios_framework_using_gn(out_dir='out/Framework', extra_options=''):
# Package all builds in the output directory
os.makedirs(out_dir)
build_dir = ''
- for (build_config, is_debug) in [('Debug', 'true'),
- ('Release', 'false')]:
- for (target_device, target_cpus) in [('simulator', ['x86', 'x64']),
- ('os', ['arm', 'arm64'])]:
- build_dirs = []
- # Build every architecture separately until gn supports fat builds.
- for target_cpu in target_cpus:
- build_dir = 'out/cronet_%s_%s' % (build_config, target_cpu)
- build_dirs.append(build_dir)
- gn_args = 'target_os="ios" enable_websockets=false ' \
- 'disable_file_support=true disable_ftp_support=true ' \
- 'use_platform_icu_alternatives=true ' \
- 'disable_brotli_filter=true ' \
- 'target_cpu="%s" is_debug=%s' % (target_cpu, is_debug)
-
- print 'Generating Ninja ' + gn_args
- gn_result = run('gn gen %s --args=\'%s\'' % (build_dir, gn_args))
- if gn_result != 0:
- return gn_result
-
- print 'Building ' + build_dir
- build_result = run('ninja -C %s cronet_package' % build_dir,
- extra_options)
- if build_result != 0:
- return build_result
-
- # Copy first framework.
+ for (build_config, gn_extra_args) in [('Debug', 'is_debug=true'),
+ ('Release', 'is_debug=false enable_dsyms=true enable_stripping=true')]:
+ for (target_device, target_cpu, additional_cpu) in [('os', 'arm', 'arm64'),
+ ('simulator', 'x86', 'x64')]:
target_dir = '%s-iphone%s' % (build_config, target_device)
- shutil.copytree(os.path.join(build_dirs[0], 'Cronet.framework'),
+ build_dir = os.path.join("out", target_dir)
+ gn_args = 'target_os="ios" enable_websockets=false ' \
+ 'disable_file_support=true disable_ftp_support=true ' \
+ 'use_platform_icu_alternatives=true ' \
+ 'disable_brotli_filter=true ' \
+ 'target_cpu="%s" additional_target_cpus = ["%s"] %s' % \
+ (target_cpu, additional_cpu, gn_extra_args)
+
+ print 'Generating Ninja ' + gn_args
+ gn_result = run('gn gen %s --args=\'%s\'' % (build_dir, gn_args))
+ if gn_result != 0:
+ return gn_result
+
+ print 'Building ' + build_dir
+ build_result = run('ninja -C %s cronet_package' % build_dir,
+ extra_options)
+ if build_result != 0:
+ return build_result
+
+ # Copy framework.
+ shutil.copytree(os.path.join(build_dir, 'Cronet.framework'),
os.path.join(out_dir, target_dir, 'Cronet.framework'))
- # Lipo first and second cpu.
- lipo_result = run('lipo -create %s %s -output %s' %
- (os.path.join(build_dirs[0], 'Cronet.framework/Cronet'),
- os.path.join(build_dirs[1], 'Cronet.framework/Cronet'),
- os.path.join(out_dir, target_dir, 'Cronet.framework/Cronet')))
- if lipo_result != 0:
- return lipo_result
- # Extract and strip symbols from release binaries.
+ # Copy symbols from release binaries.
if 'Release' in build_config:
- run('dsymutil -o=%s -minimize %s' %
- (os.path.join(out_dir, target_dir, 'Cronet.framework.dSYM'),
- os.path.join(out_dir, target_dir, 'Cronet.framework/Cronet')))
- run('strip -x %s' %
- os.path.join(out_dir, target_dir, 'Cronet.framework/Cronet'))
+ shutil.copytree(os.path.join(build_dir, 'Cronet.dSYM'),
+ os.path.join(out_dir, target_dir, 'Cronet.framework.dSYM'))
# Copy common files from last built package.
package_dir = os.path.join(build_dir, 'cronet')
shutil.copy2(os.path.join(package_dir, 'AUTHORS'), out_dir)
shutil.copy2(os.path.join(package_dir, 'LICENSE'), out_dir)
shutil.copy2(os.path.join(package_dir, 'VERSION'), out_dir)
- # Copy the headers
+ # Copy the headers.
shutil.copytree(os.path.join(build_dir,
'Cronet.framework', 'Headers'),
os.path.join(out_dir, 'Headers'))
« no previous file with comments | « components/cronet/tools/cr_cronet.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698