waf, waflib: remove waf, will fetch it instead
[pd-aubio.git] / waflib / Tools / d_scan.py
diff --git a/waflib/Tools/d_scan.py b/waflib/Tools/d_scan.py
deleted file mode 100644 (file)
index ee80c5f..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-#! /usr/bin/env python
-# encoding: utf-8
-# WARNING! Do not edit! http://waf.googlecode.com/git/docs/wafbook/single.html#_obtaining_the_waf_file
-
-import re
-from waflib import Utils,Logs
-def filter_comments(filename):
-       txt=Utils.readf(filename)
-       i=0
-       buf=[]
-       max=len(txt)
-       begin=0
-       while i<max:
-               c=txt[i]
-               if c=='"'or c=="'":
-                       buf.append(txt[begin:i])
-                       delim=c
-                       i+=1
-                       while i<max:
-                               c=txt[i]
-                               if c==delim:break
-                               elif c=='\\':
-                                       i+=1
-                               i+=1
-                       i+=1
-                       begin=i
-               elif c=='/':
-                       buf.append(txt[begin:i])
-                       i+=1
-                       if i==max:break
-                       c=txt[i]
-                       if c=='+':
-                               i+=1
-                               nesting=1
-                               c=None
-                               while i<max:
-                                       prev=c
-                                       c=txt[i]
-                                       if prev=='/'and c=='+':
-                                               nesting+=1
-                                               c=None
-                                       elif prev=='+'and c=='/':
-                                               nesting-=1
-                                               if nesting==0:break
-                                               c=None
-                                       i+=1
-                       elif c=='*':
-                               i+=1
-                               c=None
-                               while i<max:
-                                       prev=c
-                                       c=txt[i]
-                                       if prev=='*'and c=='/':break
-                                       i+=1
-                       elif c=='/':
-                               i+=1
-                               while i<max and txt[i]!='\n':
-                                       i+=1
-                       else:
-                               begin=i-1
-                               continue
-                       i+=1
-                       begin=i
-                       buf.append(' ')
-               else:
-                       i+=1
-       buf.append(txt[begin:])
-       return buf
-class d_parser(object):
-       def __init__(self,env,incpaths):
-               self.allnames=[]
-               self.re_module=re.compile("module\s+([^;]+)")
-               self.re_import=re.compile("import\s+([^;]+)")
-               self.re_import_bindings=re.compile("([^:]+):(.*)")
-               self.re_import_alias=re.compile("[^=]+=(.+)")
-               self.env=env
-               self.nodes=[]
-               self.names=[]
-               self.incpaths=incpaths
-       def tryfind(self,filename):
-               found=0
-               for n in self.incpaths:
-                       found=n.find_resource(filename.replace('.','/')+'.d')
-                       if found:
-                               self.nodes.append(found)
-                               self.waiting.append(found)
-                               break
-               if not found:
-                       if not filename in self.names:
-                               self.names.append(filename)
-       def get_strings(self,code):
-               self.module=''
-               lst=[]
-               mod_name=self.re_module.search(code)
-               if mod_name:
-                       self.module=re.sub('\s+','',mod_name.group(1))
-               import_iterator=self.re_import.finditer(code)
-               if import_iterator:
-                       for import_match in import_iterator:
-                               import_match_str=re.sub('\s+','',import_match.group(1))
-                               bindings_match=self.re_import_bindings.match(import_match_str)
-                               if bindings_match:
-                                       import_match_str=bindings_match.group(1)
-                               matches=import_match_str.split(',')
-                               for match in matches:
-                                       alias_match=self.re_import_alias.match(match)
-                                       if alias_match:
-                                               match=alias_match.group(1)
-                                       lst.append(match)
-               return lst
-       def start(self,node):
-               self.waiting=[node]
-               while self.waiting:
-                       nd=self.waiting.pop(0)
-                       self.iter(nd)
-       def iter(self,node):
-               path=node.abspath()
-               code="".join(filter_comments(path))
-               names=self.get_strings(code)
-               for x in names:
-                       if x in self.allnames:continue
-                       self.allnames.append(x)
-                       self.tryfind(x)
-def scan(self):
-       env=self.env
-       gruik=d_parser(env,self.generator.includes_nodes)
-       node=self.inputs[0]
-       gruik.start(node)
-       nodes=gruik.nodes
-       names=gruik.names
-       if Logs.verbose:
-               Logs.debug('deps: deps for %s: %r; unresolved %r'%(str(node),nodes,names))
-       return(nodes,names)