summaryrefslogtreecommitdiffstats
path: root/bksys/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'bksys/parser.py')
-rw-r--r--bksys/parser.py142
1 files changed, 0 insertions, 142 deletions
diff --git a/bksys/parser.py b/bksys/parser.py
deleted file mode 100644
index cdde2b0..0000000
--- a/bksys/parser.py
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/bin/python
-
-from xml.sax import make_parser
-from xml.sax.handler import ContentHandler
-
-import SCons.Util
-
-def exists(env):
- return True
-
-class SconsHandler(ContentHandler):
-
- def __init__ (self, envi, builddir):
- self.envname = ""
- self.env = envi
- self.builddir="" #envi['_BUILDDIR_']
-
- #self.dump = True
- self.dump = False
- self.count = 0
- self.dir = ""
- self.autoinstall = False
- self.appname=""
-
- self.obj = ""
-
- self.subdir =""
- self.type =""
-
- self.isgloballib=""
- self.target=""
-
- self._includes=""
- self.cxxflags=""
- self.globallibs=""
- self.locallibs=""
- self.linkflags=""
-
- self.srclist=[]
-
- def adrl(self, file):
- if self.builddir:
- dir=self.env.join(self.builddir,file).lstrip('/')
- else:
- dir=file.lstrip('/')
- return dir
-
- def dump_commands(self, str):
- if self.dump:
- print str
-
- def startElement(self, name, attrs):
-
- if name == 'icondirent':
- dir = attrs.get('dir', '')
- sbdir = attrs.get('subdir', '')
- if dir:
- #if self.env.has_key("DUMPCONFIG"):
- # print "env.KDEicon('"+dir+")'"
- self.env.KDEicon('*', self.adrl(dir), subdir=sbdir)
- elif name == 'subdirent':
- dir = attrs.get('dir', None)
- if dir:
- #if self.env.has_key("DUMPCONFIG"):
- # print "env.SConscript('"+dir+"/SConscript')"
- self.env.SConscript(self.env.join(self.adrl(dir),"SConscript"))
- elif name == 'docdir':
- self.appname = self.adrl( attrs.get('name', None) )
- elif name == 'docdirent':
- dir = attrs.get('dir', None)
- lang = attrs.get('lang', None)
- if dir and lang:
- #if self.env.has_key("DUMPCONFIG"):
- # print "env.docfolder('"+dir+"', '"+lang+"', '"+self.appname+"')"
- self.env.docfolder(self.adrl(dir), lang, self.appname)
- elif name == 'podir':
- dir = attrs.get('dir', None)
- appname = attrs.get('name', None)
- if dir and appname:
- if self.env.has_key('_BUILDDIR_'): dir=self.env.join(self.env['_BUILDDIR_'], dir)
- self.env.KDElang(dir, appname)
- elif name == 'install':
- self.type = attrs.get('type', None)
- self.subdir = attrs.get('subdir', None)
-
- elif name == 'file':
- name = attrs.get('name', None)
- if self.type:
- #if self.env.has_key("DUMPCONFIG"):
- # print "env.KDEinstall('"+self.type+"', '"+self.subdir+"', '"+name+"')"
- self.env.KDEinstall(self.type, self.subdir, name)
-
- elif name == 'compile':
-
- type = attrs.get('type', None)
- if not type: self.env.Exit(1)
- self.obj = self.env.kobject(type)
-
- self.obj.target = str(attrs.get('target', ''))
- self.obj.source = []
-
- self.obj.includes = str(attrs.get('includes', ''))
- self.obj.cflags = str(attrs.get('cflags', ''))
- self.obj.cxxflags = str(attrs.get('cxxflags', ''))
-
- self.obj.libs = str(attrs.get('libs', ''))
- self.obj.linkflags = str(attrs.get('linkflags', ''))
- self.obj.libpath = str(attrs.get('libpath', ''))
-
- self.obj.vnum = str(attrs.get('vnum', ''))
- self.obj.iskdelib = str(attrs.get('iskdelib', 0))
- self.obj.libprefix = str(attrs.get('libprefix', ''))
-
- self.obj.chdir = self.adrl(str(attrs.get('chdir', '')))
- self.obj.dirprefix = self.adrl(str(attrs.get('dirprefix', './')))
- if not self.obj.dirprefix: self.obj.dirprefix='./' # avoid silly errors
-
- elif name == 'source':
- file = attrs.get('file', None)
- condition = attrs.get('condition', "");
- lst=condition.split(':')
- for c in lst:
- if self.env.has_key(c):
- self.obj.source.append( file )
- break
- if file and not condition: self.obj.source.append( file )
-
- def endElement(self, name):
- if name == 'compile':
- self.obj.execute()
-
-def generate(env):
-
- def xmlfile(env, file, builddir=''):
- parser = make_parser()
- curHandler = SconsHandler(env, builddir)
- parser.setContentHandler(curHandler)
- parser.parse(open(file))
-
- from SCons.Script.SConscript import SConsEnvironment
- SConsEnvironment.xmlfile = xmlfile
-