| #! /usr/bin/env python |
| |
| # Copyright 2018 Google Inc. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import argparse |
| import os |
| import sys |
| |
| fmt = ''' |
| target_cpu = "{arch}" |
| is_debug = false |
| ndk = "{ndk}" |
| ndk_api = {api_level} |
| skia_enable_fontmgr_empty = true |
| skia_enable_pdf = false |
| skia_skqp_global_error_tolerance = 4 |
| skia_use_dng_sdk = false |
| skia_use_expat = false |
| skia_use_icu = false |
| skia_use_libheif = false |
| skia_use_lua = false |
| skia_use_piex = false |
| skia_use_skcms = false |
| skia_skqp_enable_driver_correctness_workarounds = {enable_workarounds} |
| ''' |
| |
| def parse_args(): |
| parser = argparse.ArgumentParser(description='Generate args.gn file.') |
| parser.add_argument('target_build_dir') |
| parser.add_argument('android_ndk_dir' ) |
| parser.add_argument('--arch', metavar='architecture', default='arm', |
| help='defaults to "arm", valid values: "arm" "arm64" "x86" "x64"') |
| parser.add_argument('--api_level', type=int, metavar='api_level', |
| default=26, help='android API level, defaults to 26') |
| parser.add_argument('--enable_workarounds', default=False, |
| action='store_true', help="enable GPU work-arounds, defaults to false") |
| |
| # parse the args and convert enable_workarounds to string. |
| args = parser.parse_args() |
| args.enable_workarounds = 'true' if args.enable_workarounds else 'false' |
| return args |
| |
| def make_args_gn(out_dir, ndk, arch, api_level, enable_workarounds): |
| if not os.path.exists(out_dir): |
| os.makedirs(out_dir) |
| with open(os.path.join(out_dir, 'args.gn'), 'w') as o: |
| o.write(fmt.format(ndk=os.path.abspath(ndk), |
| arch=arch, |
| api_level=api_level, |
| enable_workarounds=enable_workarounds)) |
| |
| if __name__ == '__main__': |
| args = parse_args() |
| make_args_gn(args.target_build_dir, |
| args.android_ndk_dir, |
| args.arch, |
| args.api_level, |
| args.enable_workarounds) |