pfft: fix to handle 'precision' variant in fftw (#16029)

* pfft: fix to handle 'precision' variant in fftw

pfft had been checking for +double, etc. in fftw spec, which no longer
are present (replaced by Multivalued variant precision).

* pfft: fix to handle 'precision' variant in fftw

pfft had been checking for +double, etc. in fftw spec, which no
longer are present (replaced by Multivalued variant precision).

(amended to use more idiomatic checks as suggested by @alalazo)
This commit is contained in:
Tom Payerle 2020-04-14 12:14:20 -04:00 committed by GitHub
parent 71fb29fccf
commit e10c134745
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -27,46 +27,50 @@ def configure(self, spec, prefix):
configure = Executable('../configure')
if '+double' in spec['fftw']:
fftw = spec['fftw']
if 'precision=double' in fftw:
with working_dir('double', create=True):
configure(*options)
if '+float' in spec['fftw']:
if 'precision=float' in fftw:
with working_dir('float', create=True):
configure('--enable-float', *options)
if '+long_double' in spec['fftw']:
if 'precision=long_double' in fftw:
with working_dir('long-double', create=True):
configure('--enable-long-double', *options)
def build(self, spec, prefix):
if '+double' in spec['fftw']:
fftw = spec['fftw']
if 'precision=double' in fftw:
with working_dir('double'):
make()
if '+float' in spec['fftw']:
if 'precision=float' in fftw:
with working_dir('float'):
make()
if '+long_double' in spec['fftw']:
if 'precision=long_double' in fftw:
with working_dir('long-double'):
make()
def check(self):
spec = self.spec
if '+double' in spec['fftw']:
fftw = spec['fftw']
if 'precision=double' in fftw:
with working_dir('double'):
make("check")
if '+float' in spec['fftw']:
if 'precision=float' in fftw:
with working_dir('float'):
make("check")
if '+long_double' in spec['fftw']:
if 'precision=long_double' in fftw:
with working_dir('long-double'):
make("check")
def install(self, spec, prefix):
if '+double' in spec['fftw']:
fftw = spec['fftw']
if 'precision=double' in fftw:
with working_dir('double'):
make("install")
if '+float' in spec['fftw']:
if 'precision=float' in fftw:
with working_dir('float'):
make("install")
if '+long_double' in spec['fftw']:
if 'precision=long_double' in fftw:
with working_dir('long-double'):
make("install")