summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Scanner/Dir.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-12-27 22:24:55 (GMT)
committerSteven Knight <knight@baldmt.com>2005-12-27 22:24:55 (GMT)
commitb03e7ab4ca681e521249cfed7a727299c76378db (patch)
treeacaae981ff2f6ce27cbf760c83b113f76129705e /src/engine/SCons/Scanner/Dir.py
parent0859903f99927abc0383b2e642d060604d5f9695 (diff)
downloadSCons-b03e7ab4ca681e521249cfed7a727299c76378db.zip
SCons-b03e7ab4ca681e521249cfed7a727299c76378db.tar.gz
SCons-b03e7ab4ca681e521249cfed7a727299c76378db.tar.bz2
Handle scanning of the in-memory entries for a Dir with a scanner, not a hard-coded Python method.
Diffstat (limited to 'src/engine/SCons/Scanner/Dir.py')
-rw-r--r--src/engine/SCons/Scanner/Dir.py30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/engine/SCons/Scanner/Dir.py b/src/engine/SCons/Scanner/Dir.py
index 3da1661..fb23d1b 100644
--- a/src/engine/SCons/Scanner/Dir.py
+++ b/src/engine/SCons/Scanner/Dir.py
@@ -43,15 +43,31 @@ def DirEntryScanner(**kw):
"""Return a prototype Scanner instance for "scanning"
directory Nodes for their in-memory entries"""
kw['node_factory'] = SCons.Node.FS.Entry
- kw['recursive'] = only_dirs
+ kw['recursive'] = None
return apply(SCons.Scanner.Base, (scan_in_memory, "DirEntryScanner"), kw)
-skip_entry = {
- '.' : 1,
- '..' : 1,
- '.sconsign' : 1,
- '.sconsign.dblite' : 1,
-}
+skip_entry = {}
+
+skip_entry_list = [
+ '.',
+ '..',
+ '.sconsign',
+ # Used by the native dblite.py module.
+ '.sconsign.dblite',
+ # Used by dbm and dumbdbm.
+ '.sconsign.dir',
+ # Used by dbm.
+ '.sconsign.pag',
+ # Used by dumbdbm.
+ '.sconsign.dat',
+ '.sconsign.bak',
+ # Used by some dbm emulations using Berkeley DB.
+ '.sconsign.db',
+]
+
+for skip in skip_entry_list:
+ skip_entry[skip] = 1
+ skip_entry[SCons.Node.FS._my_normcase(skip)] = 1
do_not_scan = lambda k: not skip_entry.has_key(k)