summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Scanner
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-12-04 06:42:41 (GMT)
committerSteven Knight <knight@baldmt.com>2001-12-04 06:42:41 (GMT)
commita12957948f90147743ecf2368a9a348c8619a09b (patch)
tree03180d9350c36bde99cdfff8136a0c9a96c76a43 /src/engine/SCons/Scanner
parent7543ec6ef46cd3fe5e7861e4c5167a4c562ac92b (diff)
downloadSCons-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.py14
-rw-r--r--src/engine/SCons/Scanner/Prog.py4
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 = []