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.""" diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources index b58de179bdd..0425fa33ea5 100644 --- a/src/glsl/Makefile.sources +++ b/src/glsl/Makefile.sources @@ -1,5 +1,7 @@ # shared source lists for Makefile, SConscript, and Android.mk +GLSL_SRCDIR ?= . + # libglcpp LIBGLCPP_FILES = \ diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak index 63fbf58c6af..608aa79abf4 100644 --- a/src/mesa/sources.mak +++ b/src/mesa/sources.mak @@ -1,5 +1,7 @@ ### Lists of source files, included by Makefiles +SRCDIR ?= . + # this is part of MAIN_FILES MAIN_ES_FILES = \ $(SRCDIR)/main/api_exec_es1.c \