69 строки
1.9 KiB
Python
69 строки
1.9 KiB
Python
# 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())
|