[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/devtools/waf
From:       Thomas Nagy <tnagyemail-mail () yahoo ! fr>
Date:       2006-09-07 17:22:45
Message-ID: 1157649765.573715.9902.nullmailer () svn ! kde ! org
[Download RAW message or body]

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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic