# Copyright 2017 the V8 project authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """The same as dump_build_config.py but for gyp legacy. Expected to be called like: dump_build_config.py path/to/file.json [key1=value1 ...] Raw gyp values are supported - they will be tranformed into valid json. """ # TODO(machenbach): Remove this when gyp is deprecated. import json import os import sys assert len(sys.argv) > 2 GYP_GN_CONVERSION = { 'is_component_build': { 'shared_library': 'true', 'static_library': 'false', }, 'is_debug': { 'Debug': 'true', 'Release': 'false', }, } DEFAULT_CONVERSION ={ '0': 'false', '1': 'true', 'ia32': 'x86', } def gyp_to_gn(key, value): value = GYP_GN_CONVERSION.get(key, DEFAULT_CONVERSION).get(value, value) value = value if value in ['true', 'false'] else '"{0}"'.format(value) return value def as_json(kv): assert '=' in kv k, v = kv.split('=', 1) v2 = gyp_to_gn(k, v) try: return k, json.loads(v2) except ValueError as e: print(k, v, v2) raise e with open(sys.argv[1], 'w') as f: json.dump(dict(map(as_json, sys.argv[2:])), f)