mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-27 19:09:47 +00:00
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import imp
|
|
import os
|
|
import sys
|
|
|
|
path = os.path.dirname(__file__)
|
|
while not os.path.exists(os.path.join(path, 'config.status')):
|
|
parent = os.path.normpath(os.path.join(path, os.pardir))
|
|
if parent == path:
|
|
raise Exception("Can't find config.status")
|
|
path = parent
|
|
|
|
path = os.path.join(path, 'config.status')
|
|
config = imp.load_module('_buildconfig', open(path), path, ('', 'r', imp.PY_SOURCE))
|
|
|
|
# Copy values from the config.status namespace into this module namespace.
|
|
# This effectively imports topsrcdir, topobjdir, defines, substs, files,
|
|
# headers and non_global_defines
|
|
for var in config.__all__:
|
|
value = getattr(config, var)
|
|
if isinstance(value, list) and value and isinstance(value[0], tuple):
|
|
value = dict(value)
|
|
setattr(sys.modules[__name__], var, value)
|
|
|
|
for var in os.environ:
|
|
if var != 'SHELL' and var in substs:
|
|
substs[var] = os.environ[var]
|