summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Scanner/C.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-12-11 06:18:49 (GMT)
committerSteven Knight <knight@baldmt.com>2001-12-11 06:18:49 (GMT)
commitd64afa0c1a0c43d658105a7e6aebcf23559c108a (patch)
tree36778b1739c79b51a58690c076f4e4540af64e30 /src/engine/SCons/Scanner/C.py
parentd28daaf13a9b527df8a9f5ce2b04e077b776ef25 (diff)
downloadSCons-d64afa0c1a0c43d658105a7e6aebcf23559c108a.zip
SCons-d64afa0c1a0c43d658105a7e6aebcf23559c108a.tar.gz
SCons-d64afa0c1a0c43d658105a7e6aebcf23559c108a.tar.bz2
Add a __hash_() method to the Scanners.
Diffstat (limited to 'src/engine/SCons/Scanner/C.py')
-rw-r--r--src/engine/SCons/Scanner/C.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/engine/SCons/Scanner/C.py b/src/engine/SCons/Scanner/C.py
index 5dbdf6f..589aef6 100644
--- a/src/engine/SCons/Scanner/C.py
+++ b/src/engine/SCons/Scanner/C.py
@@ -50,6 +50,7 @@ def CScan(fs = SCons.Node.FS.default_fs):
class CScanner(SCons.Scanner.Recursive):
def __init__(self, *args, **kw):
apply(SCons.Scanner.Recursive.__init__, (self,) + args, kw)
+ self.hash = None
self.pathscanners = {}
def instance(self, env):
@@ -64,10 +65,14 @@ class CScanner(SCons.Scanner.Recursive):
dirs = ()
if not self.pathscanners.has_key(dirs):
clone = copy.copy(self)
- clone.argument = [self.fs, dirs] # XXX reaching into object
+ clone.hash = dirs
+ clone.argument = [self.fs, dirs] # XXX reaching into object
self.pathscanners[dirs] = clone
return self.pathscanners[dirs]
+ def __hash__(self):
+ return hash(self.hash)
+
def scan(filename, env, args = [SCons.Node.FS.default_fs, ()]):
"""
scan(str, Environment) -> [str]