6"""Shared utilities for the build recipe module."""
10DEFAULT_BUILD_PRODUCTS = [
15 'get_images_from_skps',
16 'get_images_from_skps.exe',
28 """Convert val to a string that can be used as GN args."""
29 if isinstance(val, bool):
30 return 'true' if val
else 'false'
31 elif '%s' % val == val:
34 elif isinstance(val, (list, tuple)):
36 elif isinstance(val, dict):
38 '%s=%s' % (k,
py_to_gn(v))
for (k, v)
in sorted(val.items()))
41 raise Exception(
'Converting %s to gn is not implemented.' %
type(val))
45 """Copy listed files src to dst."""
46 script = api.build.resource(
'copy_build_products.py')
48 name=
'copy build products',
49 cmd=[
'python3', script, src, dst,
','.
join(product_list)],
54 """Add to ``args`` and ``env`` the gn args and environment vars needed to
55 make a build targeting Dawn."""
56 args['skia_use_dawn'] =
'true'
57 args[
'skia_use_gl'] =
'false'
59 args[
'dawn_enable_d3d11'] =
'false'
60 args[
'dawn_enable_d3d12'] =
'false'
61 args[
'dawn_enable_metal'] =
'false'
62 args[
'dawn_enable_desktop_gl'] =
'false'
63 args[
'dawn_enable_opengles'] =
'false'
64 args[
'dawn_enable_vulkan'] =
'false'
65 if 'D3D11' in extra_tokens:
66 args[
'dawn_enable_d3d11'] =
'true'
67 if 'D3D12' in extra_tokens:
68 args[
'dawn_enable_d3d12'] =
'true'
69 if 'Metal' in extra_tokens:
70 args[
'dawn_enable_metal'] =
'true'
71 if 'Vulkan' in extra_tokens:
72 args[
'dawn_enable_vulkan'] =
'true'
73 env[
'PYTHONPATH'] = api.path.pathsep.join([
74 str(skia_dir.join(
'third_party',
'externals')),
'%%(PYTHONPATH)s'])
def copy_listed_files(api, src, dst, product_list)
def set_dawn_args_and_env(args, env, api, extra_tokens, skia_dir)
static SkString join(const CommandLineFlags::StringArray &)