summaryrefslogtreecommitdiffstats
path: root/build/gyp_chromium
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2011-06-28 21:49:31 +0100
committerKristian Monsen <kristianm@google.com>2011-07-08 17:55:00 +0100
commitddb351dbec246cf1fab5ec20d2d5520909041de1 (patch)
tree158e3fb57bdcac07c7f1e767fde3c70687c9fbb1 /build/gyp_chromium
parent6b92e04f5f151c896e3088e86f70db7081009308 (diff)
downloadexternal_chromium-ddb351dbec246cf1fab5ec20d2d5520909041de1.zip
external_chromium-ddb351dbec246cf1fab5ec20d2d5520909041de1.tar.gz
external_chromium-ddb351dbec246cf1fab5ec20d2d5520909041de1.tar.bz2
Merge Chromium at r12.0.742.93: Initial merge by git
Change-Id: Ic5ee2fec31358bbee305f7e915442377bfa6cda6
Diffstat (limited to 'build/gyp_chromium')
-rwxr-xr-xbuild/gyp_chromium143
1 files changed, 0 insertions, 143 deletions
diff --git a/build/gyp_chromium b/build/gyp_chromium
deleted file mode 100755
index 7709d07..0000000
--- a/build/gyp_chromium
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (c) 2009 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 wrapper for Chromium that adds some support for how GYP
-# is invoked by Chromium beyond what can be done in the gclient hooks.
-
-import glob
-import os
-import shlex
-import subprocess
-import sys
-
-script_dir = os.path.dirname(__file__)
-chrome_src = os.path.normpath(os.path.join(script_dir, os.pardir))
-
-sys.path.insert(0, os.path.join(chrome_src, 'tools', 'gyp', 'pylib'))
-import gyp
-
-def apply_gyp_environment(file_path=None):
- """
- Reads in a *.gyp_env file and applies the valid keys to os.environ.
- """
- if not file_path or not os.path.exists(file_path):
- return
- file_contents = open(file_path).read()
- try:
- file_data = eval(file_contents, {'__builtins__': None}, None)
- except SyntaxError, e:
- e.filename = os.path.abspath(file_path)
- raise
- supported_vars = ( 'CHROMIUM_GYP_FILE',
- 'CHROMIUM_GYP_SYNTAX_CHECK',
- 'GYP_DEFINES',
- 'GYP_GENERATOR_FLAGS',
- 'GYP_GENERATOR_OUTPUT', )
- for var in supported_vars:
- val = file_data.get(var)
- if val:
- if var in os.environ:
- print 'INFO: Environment value for "%s" overrides value in %s.' % (
- var, os.path.abspath(file_path)
- )
- else:
- os.environ[var] = val
-
-def additional_include_files(args=[]):
- """
- Returns a list of additional (.gypi) files to include, without
- duplicating ones that are already specified on the command line.
- """
- # Determine the include files specified on the command line.
- # This doesn't cover all the different option formats you can use,
- # but it's mainly intended to avoid duplicating flags on the automatic
- # makefile regeneration which only uses this format.
- specified_includes = set()
- for arg in args:
- if arg.startswith('-I') and len(arg) > 2:
- specified_includes.add(os.path.realpath(arg[2:]))
-
- result = []
- def AddInclude(path):
- if os.path.realpath(path) not in specified_includes:
- result.append(path)
-
- # Always include common.gypi & features_override.gypi
- AddInclude(os.path.join(script_dir, 'common.gypi'))
- AddInclude(os.path.join(script_dir, 'features_override.gypi'))
-
- # Optionally add supplemental .gypi files if present.
- supplements = glob.glob(os.path.join(chrome_src, '*', 'supplement.gypi'))
- for supplement in supplements:
- AddInclude(supplement)
-
- return result
-
-if __name__ == '__main__':
- args = sys.argv[1:]
-
- # Fall back on hermetic python if we happen to get run under cygwin.
- # TODO(bradnelson): take this out once this issue is fixed:
- # http://code.google.com/p/gyp/issues/detail?id=177
- if sys.platform == 'cygwin':
- python_dir = os.path.join(chrome_src, 'third_party', 'python_26')
- env = os.environ.copy()
- env['PATH'] = python_dir + os.pathsep + env.get('PATH', '')
- p = subprocess.Popen(
- [os.path.join(python_dir, 'python.exe')] + sys.argv,
- env=env, shell=False)
- p.communicate()
- sys.exit(p.returncode)
-
- if 'SKIP_CHROMIUM_GYP_ENV' not in os.environ:
- # Update the environment based on chromium.gyp_env
- gyp_env_path = os.path.join(os.path.dirname(chrome_src), 'chromium.gyp_env')
- apply_gyp_environment(gyp_env_path)
-
- # This could give false positives since it doesn't actually do real option
- # parsing. Oh well.
- gyp_file_specified = False
- for arg in args:
- if arg.endswith('.gyp'):
- gyp_file_specified = True
- break
-
- # If we didn't get a file, check an env var, and then fall back to
- # assuming 'all.gyp' from the same directory as the script.
- if not gyp_file_specified:
- gyp_file = os.environ.get('CHROMIUM_GYP_FILE')
- if gyp_file:
- # Note that CHROMIUM_GYP_FILE values can't have backslashes as
- # path separators even on Windows due to the use of shlex.split().
- args.extend(shlex.split(gyp_file))
- else:
- args.append(os.path.join(script_dir, 'all.gyp'))
-
- args.extend(['-I' + i for i in additional_include_files(args)])
-
- # There shouldn't be a circular dependency relationship between .gyp files,
- # but in Chromium's .gyp files, on non-Mac platforms, circular relationships
- # currently exist. The check for circular dependencies is currently
- # bypassed on other platforms, but is left enabled on the Mac, where a
- # violation of the rule causes Xcode to misbehave badly.
- # TODO(mark): Find and kill remaining circular dependencies, and remove this
- # option. http://crbug.com/35878.
- # TODO(tc): Fix circular dependencies in ChromiumOS then add linux2 to the
- # list.
- if sys.platform not in ('darwin',):
- args.append('--no-circular-check')
-
- # If CHROMIUM_GYP_SYNTAX_CHECK is set to 1, it will invoke gyp with --check
- # to enfore syntax checking.
- syntax_check = os.environ.get('CHROMIUM_GYP_SYNTAX_CHECK')
- if syntax_check and int(syntax_check):
- args.append('--check')
-
- print 'Updating projects from gyp files...'
- sys.stdout.flush()
-
- # Off we go...
- sys.exit(gyp.main(args))