diff options
author | Steven Knight <knight@baldmt.com> | 2001-12-15 00:23:46 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2001-12-15 00:23:46 (GMT) |
commit | af3987ad4663708a4f9d10b661971fd7b29a9f0d (patch) | |
tree | 9de48645f9d229266078ede22a78fcd740f705b6 /src/engine/SCons/Scanner | |
parent | 0d14a2ff1774d42dc855aa9aab94791df3f55157 (diff) | |
download | SCons-af3987ad4663708a4f9d10b661971fd7b29a9f0d.zip SCons-af3987ad4663708a4f9d10b661971fd7b29a9f0d.tar.gz SCons-af3987ad4663708a4f9d10b661971fd7b29a9f0d.tar.bz2 |
Add BuildDir(), Export(), and Install() functionality (courtesy Charles Crain).
Diffstat (limited to 'src/engine/SCons/Scanner')
-rw-r--r-- | src/engine/SCons/Scanner/C.py | 6 | ||||
-rw-r--r-- | src/engine/SCons/Scanner/CTests.py | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/engine/SCons/Scanner/C.py b/src/engine/SCons/Scanner/C.py index 8ad7e00..a5aa02d 100644 --- a/src/engine/SCons/Scanner/C.py +++ b/src/engine/SCons/Scanner/C.py @@ -96,7 +96,7 @@ def scan(filename, env, args = [SCons.Node.FS.default_fs, ()]): fs, cpppath = args - try: + if fs.File(filename, fs.Top).exists(): file = open(filename) contents = file.read() file.close() @@ -109,9 +109,9 @@ def scan(filename, env, args = [SCons.Node.FS.default_fs, ()]): source_dir = (fs.Dir(dir, fs.Top),) else: source_dir = ( fs.Top, ) + return (SCons.Util.find_files(angle_includes, cpppath + source_dir, fs.File) + SCons.Util.find_files(quote_includes, source_dir + cpppath, fs.File)) - except (IOError, OSError): - return [] + return [] diff --git a/src/engine/SCons/Scanner/CTests.py b/src/engine/SCons/Scanner/CTests.py index bc30fa4..c9cc5ea 100644 --- a/src/engine/SCons/Scanner/CTests.py +++ b/src/engine/SCons/Scanner/CTests.py @@ -29,6 +29,7 @@ import unittest import sys import os import os.path +import SCons.Node.FS test = TestCmd.TestCmd(workdir = '') @@ -176,6 +177,11 @@ class CScannerTestCase5(unittest.TestCase): env = DummyEnvironment([]) s = SCons.Scanner.C.CScan() deps = s.instance(env).scan(test.workpath('f3.cpp'), env) + + # Make sure exists() gets called on the file node being + # scanned, essential for cooperation with BuildDir functionality. + assert SCons.Node.FS.default_fs.File(test.workpath('f3.cpp')).created + headers = ['f1.h', 'f2.h', 'f3.h', 'fi.h', 'fj.h', 'd1/f1.h', 'd1/f2.h', 'd1/f3.h'] deps_match(self, deps, map(test.workpath, headers)) |