diff options
Diffstat (limited to 'src/engine/SCons/Environment.py')
| -rw-r--r-- | src/engine/SCons/Environment.py | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py index 1a1dd49..c0b3255 100644 --- a/src/engine/SCons/Environment.py +++ b/src/engine/SCons/Environment.py @@ -159,38 +159,6 @@ class Environment: if options: options.Update(self) - # - # self.autogen_vars is a tuple of tuples. Each inner tuple - # has four elements, each strings referring to an environment - # variable, and describing how to autogenerate a particular - # variable. The elements are: - # - # 0 - The variable to generate - # 1 - The "source" variable, usually a list - # 2 - The "prefix" variable - # 3 - The "suffix" variable - # - # The autogenerated variable is a list, consisting of every - # element of the source list, or a single element if the source - # is a string, with the prefix and suffix concatenated. - # - self.autogen_vars = ( VarInterpolator('_LIBFLAGS', - 'LIBS', - 'LIBLINKPREFIX', - 'LIBLINKSUFFIX'), - DirVarInterp('_LIBDIRFLAGS', - 'LIBPATH', - 'LIBDIRPREFIX', - 'LIBDIRSUFFIX' ), - DirVarInterp('_CPPINCFLAGS', - 'CPPPATH', - 'INCPREFIX', - 'INCSUFFIX'), - DirVarInterp('_F77INCFLAGS', - 'F77PATH', - 'INCPREFIX', - 'INCSUFFIX') ) - def __cmp__(self, other): return cmp(self._dict, other._dict) @@ -454,15 +422,6 @@ class Environment: return scanner return None - def autogenerate(self, fs = SCons.Node.FS.default_fs, dir = None): - """Return a dictionary of autogenerated "interpolated" - construction variables. - """ - dict = {} - for interp in self.autogen_vars: - interp.instance(dir, fs).generate(dict, self._dict) - return dict - def get_builder(self, name): """Fetch the builder with the specified name from the environment. """ @@ -518,92 +477,3 @@ class Environment: "Emulates the items() method of dictionaries.""" return self._dict.items() -class VarInterpolator: - def __init__(self, dest, src, prefix, suffix): - self.dest = dest - if not SCons.Util.is_List(src): - src = [ src ] - self.src = src - self.prefix = prefix - self.suffix = suffix - - def prepareSrc(self, dict): - src = [] - for s in self.src: - if dict.has_key(s): - cv = dict[s] - if SCons.Util.is_String(cv): - src.extend(string.split(cv)) - elif SCons.Util.is_List(cv): - src.extend(cv) - else: - src.append(cv) - - def prepare(x, dict=dict): - if isinstance(x, SCons.Node.Node): - return x - else: - return SCons.Util.scons_subst(x, {}, dict) - - return map(prepare, src) - - def generate(self, ddict, sdict): - src = filter(lambda x: not x is None, self.prepareSrc(sdict)) - - if not src: - ddict[self.dest] = '' - return - - prefix = sdict.get(self.prefix, '') - suffix = sdict.get(self.suffix, '') - - def autogenFunc(x, suff=suffix, pref=prefix): - """Generate the interpolated variable. If the prefix - ends in a space, or the suffix begins in a space, - leave it as a separate element of the list.""" - ret = [ str(x) ] - if pref and pref[-1] == ' ': - ret.insert(0, pref[:-1]) - else: - ret[0] = pref + ret[0] - if suff and suff[0] == ' ': - ret.append(suff[1:]) - else: - ret[-1] = ret[-1] + suff - return ret - - ddict[self.dest] = reduce(lambda x, y: x+y, - map(autogenFunc, src)) - - def instance(self, dir, fs): - return self - -class DirVarInterp(VarInterpolator): - def __init__(self, dest, src, prefix, suffix): - VarInterpolator.__init__(self, dest, src, prefix, suffix) - self.fs = None - self.Dir = None - self.dictInstCache = {} - - def prepareSrc(self, dict): - src = VarInterpolator.prepareSrc(self, dict) - def path_dirs(rep, path, fs=self.fs, dir=self.dir): - if rep: - path = os.path.join(rep, path) - return fs.Dir(path, directory = dir) - return self.fs.Rsearchall(src, path_dirs) - - def instance(self, dir, fs): - try: - ret = self.dictInstCache[(dir, fs)] - except KeyError: - ret = copy.copy(self) - ret.fs = fs - ret.dir = dir - self.dictInstCache[(dir, fs)] = ret - return ret - - def generate(self, ddict, sdict): - VarInterpolator.generate(self, ddict, sdict) - if ddict[self.dest]: - ddict[self.dest] = ['$('] + ddict[self.dest] + ['$)'] |
