diff options
author | Steven Knight <knight@baldmt.com> | 2001-12-04 06:42:41 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2001-12-04 06:42:41 (GMT) |
commit | a12957948f90147743ecf2368a9a348c8619a09b (patch) | |
tree | 03180d9350c36bde99cdfff8136a0c9a96c76a43 /src/engine/SCons/Scanner | |
parent | 7543ec6ef46cd3fe5e7861e4c5167a4c562ac92b (diff) | |
download | SCons-a12957948f90147743ecf2368a9a348c8619a09b.zip SCons-a12957948f90147743ecf2368a9a348c8619a09b.tar.gz SCons-a12957948f90147743ecf2368a9a348c8619a09b.tar.bz2 |
Speed up and generalize SCons.Util.find_files().
Diffstat (limited to 'src/engine/SCons/Scanner')
-rw-r--r-- | src/engine/SCons/Scanner/C.py | 14 | ||||
-rw-r--r-- | src/engine/SCons/Scanner/Prog.py | 4 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/engine/SCons/Scanner/C.py b/src/engine/SCons/Scanner/C.py index 7396125..ab48342 100644 --- a/src/engine/SCons/Scanner/C.py +++ b/src/engine/SCons/Scanner/C.py @@ -66,8 +66,10 @@ def scan(filename, env, node_factory): dependencies. """ + fs = SCons.Node.FS.default_fs try: - paths = env.Dictionary("CPPPATH") + paths = map(lambda x, dir=fs.Dir: dir(x), + env.Dictionary("CPPPATH")) except KeyError: paths = [] @@ -79,11 +81,15 @@ def scan(filename, env, node_factory): angle_includes = angle_re.findall(contents) quote_includes = quote_re.findall(contents) - source_dir = os.path.dirname(filename) + dir = os.path.dirname(filename) + if dir: + source_dir = [fs.Dir(dir)] + else: + source_dir = [] - return (SCons.Util.find_files(angle_includes, paths + [source_dir], + return (SCons.Util.find_files(angle_includes, paths + source_dir, node_factory) - + SCons.Util.find_files(quote_includes, [source_dir] + paths, + + SCons.Util.find_files(quote_includes, source_dir + paths, node_factory)) except OSError: return [] diff --git a/src/engine/SCons/Scanner/Prog.py b/src/engine/SCons/Scanner/Prog.py index 0f8acff..cbbfb42 100644 --- a/src/engine/SCons/Scanner/Prog.py +++ b/src/engine/SCons/Scanner/Prog.py @@ -40,8 +40,10 @@ def scan(filename, env, node_factory): files it finds as dependencies. """ + fs = SCons.Node.FS.default_fs try: - paths = env.Dictionary("LIBPATH") + paths = map(lambda x, dir=fs.Dir: dir(x), + env.Dictionary("LIBPATH")) except KeyError: paths = [] |