diff options
| author | Steven Knight <knight@baldmt.com> | 2005-01-10 13:45:00 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2005-01-10 13:45:00 (GMT) |
| commit | 519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86 (patch) | |
| tree | 44bc33674ae55485c128e0a59a050cbda7a52973 /src/engine/SCons/Scanner | |
| parent | 69e3c442cdfb846cbcba7702d500e237b66be71e (diff) | |
| download | SCons-519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86.zip SCons-519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86.tar.gz SCons-519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86.tar.bz2 | |
Eliminate Executor's creation and use of a build_dict and a subst_dict, which were creating a separate OverrideEnvironment for every target and foiling the Memoizer's attempts at speeding up things.
Diffstat (limited to 'src/engine/SCons/Scanner')
| -rw-r--r-- | src/engine/SCons/Scanner/CTests.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/FortranTests.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/IDLTests.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/ProgTests.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/ScannerTests.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/__init__.py | 11 |
6 files changed, 11 insertions, 10 deletions
diff --git a/src/engine/SCons/Scanner/CTests.py b/src/engine/SCons/Scanner/CTests.py index 5296f93..e3caa5f 100644 --- a/src/engine/SCons/Scanner/CTests.py +++ b/src/engine/SCons/Scanner/CTests.py @@ -188,7 +188,7 @@ class DummyEnvironment(UserDict.UserDict): return [self.data[strSubst[1:]]] return [[strSubst]] - def subst_path(self, path): + def subst_path(self, path, target=None): if type(path) != type([]): path = [path] return map(self.subst, path) diff --git a/src/engine/SCons/Scanner/FortranTests.py b/src/engine/SCons/Scanner/FortranTests.py index ebf7b56..75264ac 100644 --- a/src/engine/SCons/Scanner/FortranTests.py +++ b/src/engine/SCons/Scanner/FortranTests.py @@ -236,7 +236,7 @@ class DummyEnvironment: return self[arg[1:]] return arg - def subst_path(self, path): + def subst_path(self, path, target=None): if type(path) != type([]): path = [path] return map(self.subst, path) diff --git a/src/engine/SCons/Scanner/IDLTests.py b/src/engine/SCons/Scanner/IDLTests.py index f8683b0..31a40ea 100644 --- a/src/engine/SCons/Scanner/IDLTests.py +++ b/src/engine/SCons/Scanner/IDLTests.py @@ -201,7 +201,7 @@ class DummyEnvironment: def subst(self, arg): return arg - def subst_path(self, path): + def subst_path(self, path, target=None): if type(path) != type([]): path = [path] return map(self.subst, path) diff --git a/src/engine/SCons/Scanner/ProgTests.py b/src/engine/SCons/Scanner/ProgTests.py index 7ab88f9..7e33866 100644 --- a/src/engine/SCons/Scanner/ProgTests.py +++ b/src/engine/SCons/Scanner/ProgTests.py @@ -78,7 +78,7 @@ class DummyEnvironment: return '' return s - def subst_path(self, path): + def subst_path(self, path, target=None): if type(path) != type([]): path = [path] return map(self.subst, path) diff --git a/src/engine/SCons/Scanner/ScannerTests.py b/src/engine/SCons/Scanner/ScannerTests.py index e418c17..493a330 100644 --- a/src/engine/SCons/Scanner/ScannerTests.py +++ b/src/engine/SCons/Scanner/ScannerTests.py @@ -42,7 +42,7 @@ class DummyEnvironment(UserDict.UserDict): if strSubst[0] == '$': return [self.data[strSubst[1:]]] return [[strSubst]] - def subst_path(self, path): + def subst_path(self, path, target=None): if type(path) != type([]): path = [path] return map(self.subst, path) diff --git a/src/engine/SCons/Scanner/__init__.py b/src/engine/SCons/Scanner/__init__.py index 1968a9e..1322fff 100644 --- a/src/engine/SCons/Scanner/__init__.py +++ b/src/engine/SCons/Scanner/__init__.py @@ -71,14 +71,15 @@ class FindPathDirs: def __init__(self, variable, fs): self.variable = variable self.fs = fs - def __call__(self, env, dir, argument=None): + def __call__(self, env, dir, target=None, argument=None): "__cacheable__" try: path = env[self.variable] except KeyError: return () - path_tuple = tuple(self.fs.Rsearchall(env.subst_path(path), + path = env.subst_path(path, target=target) + path_tuple = tuple(self.fs.Rsearchall(path, must_exist = 0, #kwq! clazz = SCons.Node.FS.Dir, cwd = dir)) @@ -188,14 +189,14 @@ class Base: self.scan_check = scan_check self.recursive = recursive - def path(self, env, dir = None): + def path(self, env, dir=None, target=None): "__cacheable__" if not self.path_function: return () if not self.argument is _null: - return self.path_function(env, dir, self.argument) + return self.path_function(env, dir, target, self.argument) else: - return self.path_function(env, dir) + return self.path_function(env, dir, target) def __call__(self, node, env, path = ()): """ |
