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 self.precisions = ['double'] 14 return 15 16 def setupDependencies(self, framework): 17 config.package.GNUPackage.setupDependencies(self, framework) 18 self.mpi = framework.require('config.packages.MPI',self) 19 self.deps = [self.mpi] 20 return 21 22 def formGNUConfigureArgs(self): 23 args = config.package.GNUPackage.formGNUConfigureArgs(self) 24 self.framework.pushLanguage('C') 25 args.append('MPICC="'+self.framework.getCompiler()+'"') 26 self.framework.popLanguage() 27 args.append('--enable-mpi') 28 if self.mpi.lib: 29 args.append('LIBS="'+self.libraries.toStringNoDupes(self.mpi.lib)+'"') 30 return args 31