#! /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 import skqp_gn_args 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('--debug', default=False, action='store_true', help='compile native code in debug mode, defaults to false') args = parser.parse_args() result = skqp_gn_args.GetGNArgs(args.arch, os.path.abspath(args.android_ndk_dir), args.debug, args.api_level) return args.target_build_dir, result) def write_gn(o, args): l = max(len(k) for k in args) for k, v in sorted(args.items()): o.write('%-*s = %s\n' % (l, k, v)) def make_args_gn(out_dir, args): if out_dir == '-': write_gn(sys.stdout, args) return if not os.path.exists(out_dir): os.makedirs(out_dir) with open(os.path.join(out_dir, 'args.gn'), 'w') as o: write_gn(o, args) if __name__ == '__main__': build_dir, args = parse_args() make_args_gn(build_dir, args)