source: issm/trunk-jpl/externalpackages/petsc-dev/src/config/PETSc/packages/Chaco.py@ 11896

Last change on this file since 11896 was 11896, checked in by habbalf, 13 years ago

petsc-dev : Petsc development code in external packages. Mercurial updates

File size: 1.9 KB
Line 
1import PETSc.package
2
3class Configure(PETSc.package.NewPackage):
4 def __init__(self, framework):
5 PETSc.package.NewPackage.__init__(self, framework)
6 self.download = ['http://ftp.mcs.anl.gov/pub/petsc/externalpackages/Chaco-2.2.tar.gz']
7 self.functions = ['interface']
8 self.includes = [] #Chaco does not have an include file
9 self.needsMath = 1
10 self.double = 0
11 self.complex = 1
12 self.liblist = [['libchaco.a']]
13 self.license = 'http://www.cs.sandia.gov/web1400/1400_download.html'
14 self.worksonWindows = 1
15 self.downloadonWindows = 1
16 return
17
18 def Install(self):
19 import os
20 self.framework.log.write('chacoDir = '+self.packageDir+' installDir '+self.installDir+'\n')
21
22 mkfile = 'make.inc'
23 g = open(os.path.join(self.packageDir, mkfile), 'w')
24 self.setCompilers.pushLanguage('C')
25 g.write('CC = '+self.setCompilers.getCompiler()+'\n')
26 g.write('CFLAGS = '+self.setCompilers.getCompilerFlags()+'\n')
27 g.write('OFLAGS = '+self.setCompilers.getCompilerFlags()+'\n')
28 self.setCompilers.popLanguage()
29 g.close()
30
31 if self.installNeeded(mkfile):
32 try:
33 self.logPrintBox('Compiling chaco; this may take several minutes')
34 output,err,ret = PETSc.package.NewPackage.executeShellCommand('cd '+self.packageDir+' && cd code && make clean && make && cd '+self.installDir+' && '+self.setCompilers.AR+' '+self.setCompilers.AR_FLAGS+' '+self.libdir+'/libchaco.'+self.setCompilers.AR_LIB_SUFFIX+' `find '+self.packageDir+'/code -name "*.o"` && cd '+self.libdir+' && '+self.setCompilers.AR+' d libchaco.'+self.setCompilers.AR_LIB_SUFFIX+' main.o && '+self.setCompilers.RANLIB+' libchaco.'+self.setCompilers.AR_LIB_SUFFIX, timeout=2500, log = self.framework.log)
35 except RuntimeError, e:
36 raise RuntimeError('Error running make on CHACO: '+str(e))
37 self.postInstall(output+err, mkfile)
38 return self.installDir
39
Note: See TracBrowser for help on using the repository browser.