1import config.package 2 3class Configure(config.package.GNUPackage): 4 def __init__(self, framework): 5 config.package.GNUPackage.__init__(self, framework) 6 # host locally as fftw.org url can expire after new release. 7 self.download = ['http://www.fftw.org/fftw-3.3.3.tar.gz', 8 'http://ftp.mcs.anl.gov/pub/petsc/externalpackages/fftw-3.3.3.tar.gz'] 9 self.functions = ['fftw_malloc'] 10 self.includes = ['fftw3-mpi.h'] 11 self.liblist = [['libfftw3_mpi.a','libfftw3.a']] 12 self.pkgname = 'fftw3' 13 return 14 15 def setupDependencies(self, framework): 16 config.package.GNUPackage.setupDependencies(self, framework) 17 self.mpi = framework.require('config.packages.MPI',self) 18 self.deps = [self.mpi] 19 return 20 21 def formGNUConfigureArgs(self): 22 args = config.package.GNUPackage.formGNUConfigureArgs(self) 23 self.framework.pushLanguage('C') 24 args.append('MPICC="'+self.framework.getCompiler()+'"') 25 self.framework.popLanguage() 26 args.append('--enable-mpi') 27 if self.mpi.lib: 28 args.append('LIBS="'+self.libraries.toStringNoDupes(self.mpi.lib)+'"') 29 return args 30