assignments from earlier files don't leak into variable assignments
from later files (except through substitution).
svn path=/main/trunk/; revision=10295
if self.profiles:
mygcfg_dlists = []
var_map = {}
+ expand_map = {}
for x in self.profiles:
var_map = getconfig(os.path.join(x, "make.defaults"),
- expand=var_map)
+ expand=expand_map)
+ expand_map.update(var_map)
mygcfg_dlists.append(var_map)
for cfg in mygcfg_dlists:
if isinstance(expand, dict):
# Some existing variable definitions have been
# passed in, for use in substitutions.
- mykeys = expand.copy()
+ expand_map = expand.copy()
expand = True
else:
- mykeys = {}
+ expand_map = {}
+ mykeys = {}
try:
f=open(mycfg,'r')
except IOError, e:
else:
return mykeys
if expand:
- mykeys[key] = varexpand(val, mykeys)
+ mykeys[key] = varexpand(val, expand_map)
+ expand_map[key] = mykeys[key]
else:
mykeys[key] = val
except SystemExit, e: