diff options
Diffstat (limited to 'scons')
-rw-r--r-- | scons/custom.py | 4 | ||||
-rw-r--r-- | scons/source_list.py | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/scons/custom.py b/scons/custom.py index cc953bd999a..43e7727aa42 100644 --- a/scons/custom.py +++ b/scons/custom.py @@ -235,6 +235,10 @@ def parse_source_list(env, filename, names=None): # parse the source list file parser = source_list.SourceListParser() src = env.File(filename).srcnode() + + parser.add_symbol('top_srcdir', env.Dir('#').abspath) + parser.add_symbol('top_builddir', env['build_dir']) + sym_table = parser.parse(src.abspath) if names: diff --git a/scons/source_list.py b/scons/source_list.py index 8111f43184f..e16d1f9b6d2 100644 --- a/scons/source_list.py +++ b/scons/source_list.py @@ -13,6 +13,7 @@ The goal is to allow Makefile's and SConscript's to share source listing. class SourceListParser(object): def __init__(self): + self.symbol_table = {} self._reset() def _reset(self, filename=None): @@ -20,7 +21,6 @@ class SourceListParser(object): self.line_no = 1 self.line_cont = '' - self.symbol_table = {} def _error(self, msg): raise RuntimeError('%s:%d: %s' % (self.filename, self.line_no, msg)) @@ -125,3 +125,6 @@ class SourceListParser(object): raise return self.symbol_table + + def add_symbol(self, name, value): + self.symbol_table[name] = value |