X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/016a3d4cee0ccf91904f01a89c417cdafea097d8..7dd6983e0bc7dc7d75b0a86e09da72e9c621e221:/build/tools/builder.py diff --git a/build/tools/builder.py b/build/tools/builder.py index a61ca3d2b2..4087cf53b3 100755 --- a/build/tools/builder.py +++ b/build/tools/builder.py @@ -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):