diff options
| author | Steven Knight <knight@baldmt.com> | 2004-03-05 08:51:01 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-03-05 08:51:01 (GMT) |
| commit | bb42c27bfa1a4208fc3cdc7b583b8093305fc4c0 (patch) | |
| tree | 40bbe3ce2769d5fc3c9b201a13a59f5c6ebf12e7 /src/engine/SCons/Scanner | |
| parent | c6a5a383c8771988bc829ef90111afc4db03cc5f (diff) | |
| download | SCons-bb42c27bfa1a4208fc3cdc7b583b8093305fc4c0.zip SCons-bb42c27bfa1a4208fc3cdc7b583b8093305fc4c0.tar.gz SCons-bb42c27bfa1a4208fc3cdc7b583b8093305fc4c0.tar.bz2 | |
Refactor path-substitution logic into an Environment method.
Diffstat (limited to 'src/engine/SCons/Scanner')
| -rw-r--r-- | src/engine/SCons/Scanner/CTests.py | 5 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/FortranTests.py | 5 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/ProgTests.py | 5 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/ScannerTests.py | 4 | ||||
| -rw-r--r-- | src/engine/SCons/Scanner/__init__.py | 10 |
5 files changed, 20 insertions, 9 deletions
diff --git a/src/engine/SCons/Scanner/CTests.py b/src/engine/SCons/Scanner/CTests.py index 253af88..abb72a4 100644 --- a/src/engine/SCons/Scanner/CTests.py +++ b/src/engine/SCons/Scanner/CTests.py @@ -182,6 +182,11 @@ class DummyEnvironment: def subst(self, arg): return arg + def subst_path(self, path): + if type(path) != type([]): + path = [path] + return map(self.subst, path) + def has_key(self, key): return self.Dictionary().has_key(key) diff --git a/src/engine/SCons/Scanner/FortranTests.py b/src/engine/SCons/Scanner/FortranTests.py index a719765..e69f99e 100644 --- a/src/engine/SCons/Scanner/FortranTests.py +++ b/src/engine/SCons/Scanner/FortranTests.py @@ -163,6 +163,11 @@ class DummyEnvironment: def subst(self, arg): return arg + def subst_path(self, path): + if type(path) != type([]): + path = [path] + return map(self.subst, path) + def deps_match(self, deps, headers): scanned = map(os.path.normpath, map(str, deps)) expect = map(os.path.normpath, headers) diff --git a/src/engine/SCons/Scanner/ProgTests.py b/src/engine/SCons/Scanner/ProgTests.py index 9f178f8..4e10488 100644 --- a/src/engine/SCons/Scanner/ProgTests.py +++ b/src/engine/SCons/Scanner/ProgTests.py @@ -73,6 +73,11 @@ class DummyEnvironment: def subst(self, s): return s + def subst_path(self, path): + if type(path) != type([]): + path = [path] + return map(self.subst, path) + def deps_match(deps, libs): deps=map(str, deps) deps.sort() diff --git a/src/engine/SCons/Scanner/ScannerTests.py b/src/engine/SCons/Scanner/ScannerTests.py index 3d72bd2..169c74c 100644 --- a/src/engine/SCons/Scanner/ScannerTests.py +++ b/src/engine/SCons/Scanner/ScannerTests.py @@ -35,6 +35,10 @@ class DummyEnvironment(UserDict.UserDict): self.data.update(kw) def subst(self, strSubst): return strSubst + def subst_path(self, path): + if type(path) != type([]): + path = [path] + return map(self.subst, path) class FindPathDirsTestCase(unittest.TestCase): def test_FindPathDirs(self): diff --git a/src/engine/SCons/Scanner/__init__.py b/src/engine/SCons/Scanner/__init__.py index 4bf8b6c..dc9abc3 100644 --- a/src/engine/SCons/Scanner/__init__.py +++ b/src/engine/SCons/Scanner/__init__.py @@ -55,15 +55,7 @@ class FindPathDirs: except KeyError: return () - if not SCons.Util.is_List(path): - path = [path] - r = [] - for p in path: - if SCons.Util.is_String(p): - p = env.subst(p) - r.append(p) - - return tuple(self.fs.Rsearchall(r, + return tuple(self.fs.Rsearchall(env.subst_path(path), must_exist = 0, clazz = SCons.Node.FS.Dir, cwd = dir)) |
