diff options
author | Yura Yaroshevich <yura.yaroshevich@gmail.com> | 2018-05-24 16:48:02 +0300 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2018-05-24 15:13:11 +0000 |
commit | f517f11fcb8da94939968e5fdbeb352cc76ca71b (patch) | |
tree | e001b9fe8bae15cccc7bcf947de2ee79cd527d1e /tools_webrtc | |
parent | 94150ee487f433ac12622f16f0052e42cfe0b97c (diff) | |
download | webrtc-f517f11fcb8da94939968e5fdbeb352cc76ca71b.tar.gz |
Additional switches to build_aar.py
Extra switches to GN could be passed via --extra-gn-switches.
Extra switches to Ninja could be passed via --extra-ninja-switches.
They could be used in different scenarios, when additional switches
need to be passed to GN or Ninja. For example, when diagnosing
build issues extra switch `-v` could be passed to enable
verbose logging of GN and Ninja.
Bug: None
Change-Id: I09d18a57b3df4e698784fb7d58c02e8adecddefa
Reviewed-on: https://webrtc-review.googlesource.com/78722
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23388}
Diffstat (limited to 'tools_webrtc')
-rwxr-xr-x | tools_webrtc/android/build_aar.py | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/tools_webrtc/android/build_aar.py b/tools_webrtc/android/build_aar.py index 5a7b56e53f..85bdea75c2 100755 --- a/tools_webrtc/android/build_aar.py +++ b/tools_webrtc/android/build_aar.py @@ -67,8 +67,21 @@ def _ParseArgs(): help='Debug logging.') parser.add_argument('--extra-gn-args', default=[], nargs='*', help="""Additional GN arguments to be used during Ninja generation. - These are applied after any other arguments and will - override any values defined by the script.""") + These are passed to gn inside `--args` switch and + applied after any other arguments and will + override any values defined by the script. + Example of building debug aar file: + build_aar.py --extra-gn-args='is_debug=true'""") + parser.add_argument('--extra-ninja-switches', default=[], nargs='*', + help="""Additional Ninja switches to be used during compilation. + These are applied after any other Ninja switches. + Example of enabling verbose Ninja output: + build_aar.py --extra-ninja-switches='-v'""") + parser.add_argument('--extra-gn-switches', default=[], nargs='*', + help="""Additional GN switches to be used during compilation. + These are applied after any other GN switches. + Example of enabling verbose GN output: + build_aar.py --extra-gn-switches='-v'""") return parser.parse_args() @@ -129,7 +142,8 @@ def _GetArmVersion(arch): raise Exception('Unknown arch: ' + arch) -def Build(build_dir, arch, use_goma, extra_gn_args): +def Build(build_dir, arch, use_goma, extra_gn_args, extra_gn_switches, + extra_ninja_switches): """Generates target architecture using GN and builds it using ninja.""" logging.info('Building: %s', arch) output_directory = _GetOutputDirectory(build_dir, arch) @@ -147,11 +161,14 @@ def Build(build_dir, arch, use_goma, extra_gn_args): gn_args_str = '--args=' + ' '.join([ k + '=' + _EncodeForGN(v) for k, v in gn_args.items()] + extra_gn_args) - _RunGN(['gen', output_directory, gn_args_str]) + gn_args = ['gen', output_directory, gn_args_str] + gn_args.extend(extra_gn_switches) + _RunGN(gn_args) ninja_args = TARGETS[:] if use_goma: ninja_args.extend(['-j', '200']) + ninja_args.extend(extra_ninja_switches) _RunNinja(output_directory, ninja_args) @@ -181,12 +198,16 @@ def GenerateLicenses(output_dir, build_dir, archs): def BuildAar(archs, output_file, use_goma=False, extra_gn_args=None, - ext_build_dir=None): + ext_build_dir=None, extra_gn_switches=None, + extra_ninja_switches=None): extra_gn_args = extra_gn_args or [] + extra_gn_switches = extra_gn_switches or [] + extra_ninja_switches = extra_ninja_switches or [] build_dir = ext_build_dir if ext_build_dir else tempfile.mkdtemp() for arch in archs: - Build(build_dir, arch, use_goma, extra_gn_args) + Build(build_dir, arch, use_goma, extra_gn_args, extra_gn_switches, + extra_ninja_switches) with zipfile.ZipFile(output_file, 'w') as aar_file: # Architecture doesn't matter here, arbitrarily using the first one. @@ -206,7 +227,7 @@ def main(): logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO) BuildAar(args.arch, args.output, args.use_goma, args.extra_gn_args, - args.build_dir) + args.build_dir, args.extra_gn_switches, args.extra_ninja_switches) if __name__ == '__main__': |