diff options
Diffstat (limited to 'scons')
-rw-r--r-- | scons/source_list.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/scons/source_list.py b/scons/source_list.py index 1d5166ba1fe..8111f43184f 100644 --- a/scons/source_list.py +++ b/scons/source_list.py @@ -63,7 +63,7 @@ class SourceListParser(object): self._error('not a variable definition') if op_pos > 0: - if line[op_pos - 1] in [':', '+']: + if line[op_pos - 1] in [':', '+', '?']: op_pos -= 1 else: self._error('only =, :=, and += are supported') @@ -77,6 +77,9 @@ class SourceListParser(object): self.symbol_table[sym] = val elif op == '+=': self.symbol_table[sym] += ' ' + val + elif op == '?=': + if sym not in self.symbol_table: + self.symbol_table[sym] = val def _parse_line(self, line): """Parse a source list line.""" |