summaryrefslogtreecommitdiffstats
path: root/build/gyp_chromium
diff options
context:
space:
mode:
authoriannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-14 04:59:48 +0000
committeriannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-14 04:59:48 +0000
commitabab8d767641f0bebacdd8edfb5bc0a0dbb3647e (patch)
tree6ebaf65da3b214244a19c962bd0308e8f125350b /build/gyp_chromium
parentcc1073afc7ebf6e28fc3cf0316ca0d783ed5809c (diff)
downloadchromium_src-abab8d767641f0bebacdd8edfb5bc0a0dbb3647e.zip
chromium_src-abab8d767641f0bebacdd8edfb5bc0a0dbb3647e.tar.gz
chromium_src-abab8d767641f0bebacdd8edfb5bc0a0dbb3647e.tar.bz2
Selective build clobbering feature (landmines.py and android build scripts).
Adds the ability for devs/troopers/etc. to set 'landmines' in the tree so that the build will selectively clobber when a builder moves over a revision with such a change. This cl has an basis landmines.py, and hooks the clobber mechanism to the android build scripts. The relevant cl which implements this for compile.py is here: https://chromiumcodereview.appspot.com/11234013/ I'm planning to also implement an informational invocation for gclient to let devs know about any potential landmines so they can decide if they need to clobber. This previously attempted to land as: https://chromiumcodereview.appspot.com/11175016 R=ilevy@chromium.org,maruel@chromium.org BUG=121897 Review URL: https://chromiumcodereview.appspot.com/11377141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167595 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/gyp_chromium')
-rwxr-xr-xbuild/gyp_chromium36
1 files changed, 2 insertions, 34 deletions
diff --git a/build/gyp_chromium b/build/gyp_chromium
index d134034..499fa5c 100755
--- a/build/gyp_chromium
+++ b/build/gyp_chromium
@@ -8,6 +8,7 @@
# is invoked by Chromium beyond what can be done in the gclient hooks.
import glob
+import gyp_helper
import os
import shlex
import subprocess
@@ -44,36 +45,6 @@ if sys.platform == 'win32':
else:
psyco = None
-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 = ( 'CC',
- 'CHROMIUM_GYP_FILE',
- 'CHROMIUM_GYP_SYNTAX_CHECK',
- 'CXX',
- 'GYP_DEFINES',
- 'GYP_GENERATOR_FLAGS',
- 'GYP_GENERATOR_OUTPUT',
- 'GYP_GENERATORS', )
- 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
@@ -124,10 +95,7 @@ if __name__ == '__main__':
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)
+ gyp_helper.apply_chromium_gyp_env()
# This could give false positives since it doesn't actually do real option
# parsing. Oh well.