summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Scanner
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-01-10 13:45:00 (GMT)
committerSteven Knight <knight@baldmt.com>2005-01-10 13:45:00 (GMT)
commit519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86 (patch)
tree44bc33674ae55485c128e0a59a050cbda7a52973 /src/engine/SCons/Scanner
parent69e3c442cdfb846cbcba7702d500e237b66be71e (diff)
downloadSCons-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.py2
-rw-r--r--src/engine/SCons/Scanner/FortranTests.py2
-rw-r--r--src/engine/SCons/Scanner/IDLTests.py2
-rw-r--r--src/engine/SCons/Scanner/ProgTests.py2
-rw-r--r--src/engine/SCons/Scanner/ScannerTests.py2
-rw-r--r--src/engine/SCons/Scanner/__init__.py11
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 = ()):
"""