From kde-commits Thu Sep 07 17:22:45 2006 From: Thomas Nagy Date: Thu, 07 Sep 2006 17:22:45 +0000 To: kde-commits Subject: playground/devtools/waf Message-Id: <1157649765.573715.9902.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=115764977530689 SVN commit 581837 by tnagy: * Java support * Support for waf modules outside of the Tools directory A demos/java (directory) A demos/java/src (directory) A demos/java/src/Hello.java A demos/java/src/wscript_build A demos/java/wscript M +8 -8 wafadmin/Configure.py M +4 -2 wafadmin/Environment.py M +1 -1 wafadmin/Scripting.py A wafadmin/Tools/java.py --- trunk/playground/devtools/waf/wafadmin/Configure.py #581836:581837 @@ -713,7 +713,7 @@ os.chdir(dir) - env.setup(env['tools']) + for t in env['tools']: env.setup(**t) # not sure yet when to call this: #bld.rescan(bld.m_srcnode) @@ -792,7 +792,7 @@ os.chdir(dir) - env.setup(env['tools']) + for t in env['tools']: env.setup(**t) # not sure yet when to call this: #bld.rescan(bld.m_srcnode) @@ -1031,7 +1031,7 @@ self.addDefine(define, is_found) return is_found - def checkTool(self, input): + def checkTool(self, input, tooldir=None): """check if a waf tool is available""" if type(input) is types.ListType: lst = input @@ -1040,24 +1040,24 @@ ret = True for i in lst: - ret = ret and self._checkToolImpl(i) + ret = ret and self._checkToolImpl(i, tooldir) return ret - def _checkToolImpl(self, tool): + def _checkToolImpl(self, tool, tooldir=None): define = 'HAVE_'+tool.upper().replace('.','_').replace('+','P') if self.isDefined(define): return self.getDefine(define) try: - file,name,desc = imp.find_module(tool, Params.g_tooldir) + file,name,desc = imp.find_module(tool, tooldir) except: print "no tool named '" + tool + "' found" return module = imp.load_module(tool,file,name,desc) ret = int(module.detect(self)) self.addDefine(define, ret) - self.env.appendValue('tools',tool) + self.env.appendValue('tools', {'tool':tool, 'tooldir':tooldir}) return ret def checkModule(self,tool): @@ -1294,7 +1294,7 @@ os.chdir(dir) - env.setup(env['tools']) + for t in env['tools']: env.setup(**t) # not sure yet when to call this: #bld.rescan(bld.m_srcnode) --- trunk/playground/devtools/waf/wafadmin/Environment.py #581836:581837 @@ -34,12 +34,14 @@ return newenv # setup tools for build process - def setup(self, tool): + def setup(self, tool, tooldir=None): if type(tool) is types.ListType: for i in tool: self.setup(i) return + + if not tooldir: tooldir = Params.g_tooldir - file,name,desc = imp.find_module(tool, Params.g_tooldir) + file,name,desc = imp.find_module(tool, tooldir) module = imp.load_module(tool,file,name,desc) try: module.setup(self) --- trunk/playground/devtools/waf/wafadmin/Scripting.py #581836:581837 @@ -91,7 +91,7 @@ continue Params.g_build.m_allenvs[name] = env try: - env.setup(env['tools']) + for t in env['tools']: env.setup(**t) except: print "loading failed:", file raise