# Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """This script is now only used by the closure_compilation builders.""" import argparse import glob import gyp_environment import os import shlex import sys script_dir = os.path.dirname(os.path.realpath(__file__)) chrome_src = os.path.abspath(os.path.join(script_dir, os.pardir)) sys.path.insert(0, os.path.join(chrome_src, 'tools', 'gyp', 'pylib')) import gyp def ProcessGypDefinesItems(items): """Converts a list of strings to a list of key-value pairs.""" result = [] for item in items: tokens = item.split('=', 1) # Some GYP variables have hyphens, which we don't support. if len(tokens) == 2: result += [(tokens[0], tokens[1])] else: # No value supplied, treat it as a boolean and set it. Note that we # use the string '1' here so we have a consistent definition whether # you do 'foo=1' or 'foo'. result += [(tokens[0], '1')] return result def GetSupplementalFiles(): return [] def GetGypVars(_): """Returns a dictionary of all GYP vars.""" # GYP defines from the environment. env_items = ProcessGypDefinesItems( shlex.split(os.environ.get('GYP_DEFINES', ''))) # GYP defines from the command line. parser = argparse.ArgumentParser() parser.add_argument('-D', dest='defines', action='append', default=[]) cmdline_input_items = parser.parse_known_args()[0].defines cmdline_items = ProcessGypDefinesItems(cmdline_input_items) return dict(env_items + cmdline_items) def main(): gyp_environment.SetEnvironment() print 'Updating projects from gyp files...' sys.stdout.flush() sys.exit(gyp.main(sys.argv[1:] + [ '--check', '--no-circular-check', '-I', os.path.join(script_dir, 'common.gypi'), '-D', 'gyp_output_dir=out'])) if __name__ == '__main__': sys.exit(main())