pnfft: new package (#2646)
* pnfft: new package * Convert some packages with overridden install from AutotoolsPackage to Package * pnfft: fix URL * Switch FFTW-derived packages back to AutotoolsPackage * Disable unneeded build phases in FFTW and derived packages * Separate build phases for FFTW and derived packages * Fix broken merge * fftw: pfft_patches for 3.3.6 * fftw: address @adamjstewart’s review comments
This commit is contained in:

committed by
Adam J. Stewart

parent
3af971165a
commit
55300d1181
@@ -39,26 +39,52 @@ class Pfft(AutotoolsPackage):
|
||||
depends_on('fftw+mpi+pfft_patches')
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
def configure(self, spec, prefix):
|
||||
options = ['--prefix={0}'.format(prefix)]
|
||||
if not self.compiler.f77 or not self.compiler.fc:
|
||||
options.append("--disable-fortran")
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
if self.run_tests:
|
||||
make("check")
|
||||
make("install")
|
||||
configure = Executable('../configure')
|
||||
|
||||
if '+double' in spec['fftw']:
|
||||
with working_dir('double', create=True):
|
||||
configure(*options)
|
||||
if '+float' in spec['fftw']:
|
||||
configure('--enable-float', *options)
|
||||
make()
|
||||
if self.run_tests:
|
||||
make("check")
|
||||
make("install")
|
||||
with working_dir('float', create=True):
|
||||
configure('--enable-float', *options)
|
||||
if '+long_double' in spec['fftw']:
|
||||
configure('--enable-long-double', *options)
|
||||
make()
|
||||
if self.run_tests:
|
||||
with working_dir('long-double', create=True):
|
||||
configure('--enable-long-double', *options)
|
||||
|
||||
def build(self, spec, prefix):
|
||||
if '+double' in spec['fftw']:
|
||||
with working_dir('double'):
|
||||
make()
|
||||
if '+float' in spec['fftw']:
|
||||
with working_dir('float'):
|
||||
make()
|
||||
if '+long_double' in spec['fftw']:
|
||||
with working_dir('long-double'):
|
||||
make()
|
||||
|
||||
def check(self, spec, prefix):
|
||||
if '+double' in spec['fftw']:
|
||||
with working_dir('double'):
|
||||
make("check")
|
||||
make("install")
|
||||
if '+float' in spec['fftw']:
|
||||
with working_dir('float'):
|
||||
make("check")
|
||||
if '+long_double' in spec['fftw']:
|
||||
with working_dir('long-double'):
|
||||
make("check")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
if '+double' in spec['fftw']:
|
||||
with working_dir('double'):
|
||||
make("install")
|
||||
if '+float' in spec['fftw']:
|
||||
with working_dir('float'):
|
||||
make("install")
|
||||
if '+long_double' in spec['fftw']:
|
||||
with working_dir('long-double'):
|
||||
make("install")
|
||||
|
Reference in New Issue
Block a user