Apply Lei Zhang's patch to add easy import of additional environment
variables in our scons setup. Here is an example of importing an additional environment variable: export MYVAR='value' scons importenv="MYVAR" Review URL: http://codereview.chromium.org/60046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
8389e4f9f8
commit
8947c308c6
13
SConstruct
13
SConstruct
@ -507,7 +507,8 @@ def GetOptions():
|
||||
result = Options()
|
||||
result.Add('mode', 'compilation mode (debug, release)', 'release')
|
||||
result.Add('sample', 'build sample (shell, process)', '')
|
||||
result.Add('env', 'override environment settings (NAME1:value1,NAME2:value2)', '')
|
||||
result.Add('env', 'override environment settings (NAME0:value0,NAME1:value1,...)', '')
|
||||
result.Add('importenv', 'import environment settings (NAME0,NAME1,...)', '')
|
||||
for (name, option) in SIMPLE_OPTIONS.iteritems():
|
||||
help = '%s (%s)' % (name, ", ".join(option['values']))
|
||||
result.Add(name, help, option.get('default'))
|
||||
@ -626,9 +627,13 @@ def PostprocessOptions(options):
|
||||
options['arch'] = options['simulator']
|
||||
|
||||
|
||||
def ParseEnvOverrides(arg):
|
||||
# The environment overrides are in the format NAME1:value1,NAME2:value2
|
||||
def ParseEnvOverrides(arg, imports):
|
||||
# The environment overrides are in the format NAME0:value0,NAME1:value1,...
|
||||
# The environment imports are in the format NAME0,NAME1,...
|
||||
overrides = {}
|
||||
for var in imports.split(','):
|
||||
if var in os.environ:
|
||||
overrides[var] = os.environ[var]
|
||||
for override in arg.split(','):
|
||||
pos = override.find(':')
|
||||
if pos == -1:
|
||||
@ -726,7 +731,7 @@ def Build():
|
||||
env = Environment(options=opts)
|
||||
Help(opts.GenerateHelpText(env))
|
||||
VerifyOptions(env)
|
||||
env_overrides = ParseEnvOverrides(env['env'])
|
||||
env_overrides = ParseEnvOverrides(env['env'], env['importenv'])
|
||||
|
||||
SourceSignatures(env['sourcesignatures'])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user