return True def make(self): os.chdir(self.buildDir()) ret = self.runCommand(["make",self.cxt.make_target]) if ret == 0: return True return False def install(self): os.chdir(self.buildDir()) if self.cxt.sudo: ret = self.runCommand(["sudo","make","install"]) else: ret = self.runCommand(["make","install"]) if ret == 0: return True return False def clean(self): os.chdir(self.buildDir()) ret = self.runCommand(["make","distclean"]) if ret == 0: return True ret = self.runCommand(["make", "clean"]) if ret == 0: return True return False BuildSystem.register(AutotoolsSystem)
import logging import Autotools import BuildSystem import subprocess import os class IMakefileSystem(Autotools.AutotoolsSystem): @staticmethod def canHandle(context): return os.path.exists(context.source+"/Imakefile") @staticmethod def parseArgs(options): return options def configure(self): os.chdir(self.buildDir()) ret = subprocess.call("xmkmf") return ret == 0 BuildSystem.register(IMakefileSystem)
def configure(self): if not os.path.exists(self.buildDir()): os.mkdir(self.buildDir()) os.chdir(self.buildDir()) ret = self.runCommand(["cmake","-DCMAKE_INSTALL_PREFIX=%s"%(self.installPath())]+self.cxt.cmake_defines+[self.srcDir(),]) if ret == 0: return True def make(self): realBuilder = BuildSystem.factory(self.buildContext) realBuilder.addCallback('stdout',self.makeProgress) return realBuilder.make() def makeProgress(self, line): progress = re.search('^\[([ 0-9]{3})%\]', line) if progress != None: self.logging.info("Progress: %s%%",progress.group(1).strip()) self.doCallback("progress", progress.group(1).strip()) def install(self): realBuilder = BuildSystem.factory(self.buildContext) realBuilder.addCallback('stdout',self.makeProgress) return realBuilder.install() def clean(self): realBuilder = BuildSystem.factory(self.buildContext) return realBuilder.clean() BuildSystem.register(CMakeSystem)