diff options
author | iannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 04:59:48 +0000 |
---|---|---|
committer | iannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 04:59:48 +0000 |
commit | abab8d767641f0bebacdd8edfb5bc0a0dbb3647e (patch) | |
tree | 6ebaf65da3b214244a19c962bd0308e8f125350b /build/gyp_chromium | |
parent | cc1073afc7ebf6e28fc3cf0316ca0d783ed5809c (diff) | |
download | chromium_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-x | build/gyp_chromium | 36 |
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. |