summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-01-23 22:33:07 (GMT)
committerSteven Knight <knight@baldmt.com>2002-01-23 22:33:07 (GMT)
commit1f0c49dc905310ce09cc790ba2d2b438d07fd846 (patch)
treeb5cbc68762e5ed2d6f18397f8b30d62f8fb1f2f5 /src
parent97226af46815c7789635c7e3aaf9d7fac96473be (diff)
downloadSCons-1f0c49dc905310ce09cc790ba2d2b438d07fd846.zip
SCons-1f0c49dc905310ce09cc790ba2d2b438d07fd846.tar.gz
SCons-1f0c49dc905310ce09cc790ba2d2b438d07fd846.tar.bz2
Handle LIBPATH as a string (Crain).
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt4
-rw-r--r--src/engine/SCons/Scanner/Prog.py7
-rw-r--r--src/engine/SCons/Scanner/ProgTests.py10
3 files changed, 19 insertions, 2 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 44946a0..ea9bf43 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -15,6 +15,10 @@ RELEASE 0.04 -
- Significant performance improvements in the Node.FS and
Scanner subsystems.
+ - Fix signatures of binary files on Win32 systems.
+
+ - Allow LIBS and LIBPATH to be strings, not just arrays.
+
From Steven Knight:
- Fix using a directory as a Default(), and allow Default() to
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__":