diff options
author | Steven Knight <knight@baldmt.com> | 2002-01-23 22:33:07 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-01-23 22:33:07 (GMT) |
commit | 1f0c49dc905310ce09cc790ba2d2b438d07fd846 (patch) | |
tree | b5cbc68762e5ed2d6f18397f8b30d62f8fb1f2f5 /src/engine/SCons/Scanner | |
parent | 97226af46815c7789635c7e3aaf9d7fac96473be (diff) | |
download | SCons-1f0c49dc905310ce09cc790ba2d2b438d07fd846.zip SCons-1f0c49dc905310ce09cc790ba2d2b438d07fd846.tar.gz SCons-1f0c49dc905310ce09cc790ba2d2b438d07fd846.tar.bz2 |
Handle LIBPATH as a string (Crain).
Diffstat (limited to 'src/engine/SCons/Scanner')
-rw-r--r-- | src/engine/SCons/Scanner/Prog.py | 7 | ||||
-rw-r--r-- | src/engine/SCons/Scanner/ProgTests.py | 10 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/engine/SCons/Scanner/Prog.py b/src/engine/SCons/Scanner/Prog.py index 0182cda..2ca28f2 100644 --- a/src/engine/SCons/Scanner/Prog.py +++ b/src/engine/SCons/Scanner/Prog.py @@ -26,6 +26,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" import SCons.Scanner import SCons.Node.FS import SCons.Util +import string def ProgScan(): """Return a prototype Scanner instance for scanning executable @@ -42,13 +43,15 @@ def scan(node, env, node_factory): fs = SCons.Node.FS.default_fs try: - paths = map(lambda x, dir=fs.Dir: dir(x), - env.Dictionary("LIBPATH")) + paths = SCons.Util.scons_str2nodes(env.Dictionary("LIBPATH"), + fs.Dir) except KeyError: paths = [] try: libs = env.Dictionary("LIBS") + if SCons.Util.is_String(libs): + libs = string.split(libs) except KeyError: libs = [] diff --git a/src/engine/SCons/Scanner/ProgTests.py b/src/engine/SCons/Scanner/ProgTests.py index 6c3f5e4..e376557 100644 --- a/src/engine/SCons/Scanner/ProgTests.py +++ b/src/engine/SCons/Scanner/ProgTests.py @@ -80,10 +80,20 @@ class ProgScanTestCase2(unittest.TestCase): deps = s.scan('dummy', env) assert deps_match(deps, ['l1.lib', 'd1/l2.lib', 'd1/d2/l3.lib' ]), map(str, deps) +class ProgScanTestCase3(unittest.TestCase): + def runTest(self): + env = DummyEnvironment(LIBPATH=test.workpath("d1/d2") + ' ' +\ + test.workpath("d1"), + LIBS='l2 l3') + s = SCons.Scanner.Prog.ProgScan() + deps = s.scan('dummy', env) + assert deps_match(deps, ['d1/l2.lib', 'd1/d2/l3.lib']), map(str, deps) + def suite(): suite = unittest.TestSuite() suite.addTest(ProgScanTestCase1()) suite.addTest(ProgScanTestCase2()) + suite.addTest(ProgScanTestCase3()) return suite if __name__ == "__main__": |