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
)
29 'CHROMIUM_GYP_SYNTAX_CHECK',
33 'GYP_GENERATOR_FLAGS',
35 'GYP_GENERATOR_OUTPUT',
41 for var
in supported_vars
:
42 file_val
= file_data
.get(var
)
46 if var
== 'GYP_DEFINES':
47 os
.environ
[var
] = file_val
+ ' ' + os
.environ
[var
]
48 behavior
= 'overrides'
49 print 'INFO: Environment value for "%s" %s value in %s' % (
50 var
, behavior
, os
.path
.abspath(file_path
)
53 os
.environ
[var
] = file_val
56 def apply_chromium_gyp_env():
57 if 'SKIP_CHROMIUM_GYP_ENV' not in os
.environ
:
58 # Update the environment based on chromium.gyp_env
59 path
= os
.path
.join(os
.path
.dirname(CHROME_SRC
), 'chromium.gyp_env')
60 apply_gyp_environment_from_file(path
)