]> git.saurik.com Git - wxWidgets.git/blobdiff - build/tools/builder.py
Added setters for table row and column count
[wxWidgets.git] / build / tools / builder.py
index a61ca3d2b28fad226021feb770ba335a13bbc8cb..4087cf53b376a16e0c7f94951d6e54550c0e4f8a 100755 (executable)
@@ -1,5 +1,4 @@
 import os
-import string
 import subprocess
 import sys
 import time
@@ -89,50 +88,50 @@ class Builder:
 
         return self.name
 
-    def clean(self, dir=None, projectFile=None, options=None):
+    def getProjectFileArg(self, projectFile = None):
+        result = []
+        if projectFile:
+            result.append(projectFile)
+        return result
+    
+    def clean(self, dir=None, projectFile=None, options=[]):
         """
         dir = the directory containing the project file
         projectFile = Some formats need to explicitly specify the project file's name
         """
         if self.isAvailable():
-            if options:
-                optionList = list(options)
-            else:
-                optionList = []
-
-            optionList.insert(0, self.getProgramPath())
-            optionList.append("clean")
+            args = [self.getProgramPath()]
+            args.extend(self.getProjectFileArg(projectFile))
+            args.append("clean")
+            args.extend(options)
         
-            result = runInDir(optionList, dir)
+            result = runInDir(args, dir)
             return result
 
         return False
 
-    def configure(self, options=None):
+    def configure(self, dir=None, options=[]):
         # if we don't have configure, just report success
-        return True
+        return 0
 
-    def build(self, dir=None, projectFile=None, targets=None, options=None):
+    def build(self, dir=None, projectFile=None, targets=None, options=[]):
         if self.isAvailable():
-            if options:
-                optionList = list(options)
-            else:
-                optionList = []
-
-            optionList.insert(0, self.getProgramPath())
+            args = [self.getProgramPath()]
+            args.extend(self.getProjectFileArg(projectFile))
+            args.extend(options)
 
-            result = runInDir(optionList, dir)
+            result = runInDir(args, dir)
 
             return result
 
         return 1
 
-    def install(self, dir=None, options=None):
+    def install(self, dir=None, projectFile=None, options=[]):
         if self.isAvailable():
-
-            args = ["make", "install"]
-            if options:
-                args.extend(options)
+            args = [self.getProgramPath()]
+            args.extend(self.getProjectFileArg(projectFile))
+            args.append("install")
+            args.extend(options)
             result = runInDir(args, dir)
             return result
 
@@ -179,7 +178,7 @@ class AutoconfBuilder(GNUMakeBuilder):
             sys.stderr.write("Could not find configure script at %r. Have you run autoconf?\n" % dir)
             return 1
 
-        optionsStr = string.join(options, " ") if options else ""
+        optionsStr = " ".join(options) if options else ""
         command = "%s %s" % (configure_cmd, optionsStr)
         print(command)
         result = os.system(command)
@@ -188,8 +187,8 @@ class AutoconfBuilder(GNUMakeBuilder):
 
 
 class MSVCBuilder(Builder):
-    def __init__(self):
-        Builder.__init__(self, commandName="nmake.exe", formatName="msvc")
+    def __init__(self, commandName="nmake.exe"):
+        Builder.__init__(self, commandName=commandName, formatName="msvc")
 
     def isAvailable(self):
         PATH = os.environ['PATH'].split(os.path.pathsep)
@@ -198,6 +197,13 @@ class MSVCBuilder(Builder):
                 return True
         return False
 
+    def getProjectFileArg(self, projectFile = None):
+        result = []
+        if projectFile:
+            result.extend(['-f', projectFile])
+            
+        return result
+
         
 class MSVCProjectBuilder(Builder):
     def __init__(self):