1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # This file helps gyp_chromium and landmines correctly set up the gyp
6 # environment from chromium.gyp_env on disk
10 SCRIPT_DIR
= os
.path
.dirname(os
.path
.realpath(__file__
))
11 CHROME_SRC
= os
.path
.dirname(SCRIPT_DIR
)
14 def apply_gyp_environment_from_file(file_path
):
15 """Reads in a *.gyp_env file and applies the valid keys to os.environ."""
16 if not os
.path
.exists(file_path
):
18 with
open(file_path
, 'rU') as f
:
19 file_contents
= f
.read()
21 file_data
= eval(file_contents
, {'__builtins__': None}, None)
22 except SyntaxError, e
:
23 e
.filename
= os
.path
.abspath(file_path
)
28 'CHROMIUM_GYP_SYNTAX_CHECK',
31 'GYP_GENERATOR_FLAGS',
32 'GYP_GENERATOR_OUTPUT',
35 for var
in supported_vars
:
36 file_val
= file_data
.get(var
)
39 print 'INFO: Environment value for "%s" overrides value in %s.' % (
40 var
, os
.path
.abspath(file_path
)
43 os
.environ
[var
] = file_val
46 def apply_chromium_gyp_env():
47 if 'SKIP_CHROMIUM_GYP_ENV' not in os
.environ
:
48 # Update the environment based on chromium.gyp_env
49 path
= os
.path
.join(os
.path
.dirname(CHROME_SRC
), 'chromium.gyp_env')
50 apply_gyp_environment_from_file(path
)