skia2/tools/skqp/generate_gn_args
Stephan Altmueller dd3eca1fc5 [skqp] More args for skqp related scripts
- allows to choose api versions in run_testlab.go
- adds api_version and work_arounds to generate_gn_args

Bug: skia:
Change-Id: I87516b493f4d8eef3689d1722a5dd864131a44f8
Reviewed-on: https://skia-review.googlesource.com/102900
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
2018-02-02 20:48:59 +00:00

61 lines
2.2 KiB
Python
Executable File

#! /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)