Over specifying Quantum Espresso compiler variables causes problems in some corner cases. (#10216)

This commit is contained in:
Nichols A. Romero 2018-12-30 11:29:28 -06:00 committed by Adam J. Stewart
parent 70c5088a4c
commit 54f76f7c51

View File

@ -109,12 +109,25 @@ def install(self, spec, prefix):
prefix_path = prefix.bin if '@:5.4.0' in spec else prefix prefix_path = prefix.bin if '@:5.4.0' in spec else prefix
options = ['-prefix={0}'.format(prefix_path)] options = ['-prefix={0}'.format(prefix_path)]
# QE autoconf compiler variables has some limitations:
# 1. There is no explicit MPICC variable so we must re-purpose
# CC for the case of MPI.
# 2. F90 variable is set to be consistent with MPIF90 wrapper
# 3. If an absolute path for F90 is set, the build system breaks.
#
# Thus, due to 2. and 3. the F90 variable is not explictly set
# because it would be mostly pointless and could lead to erroneous
# behaviour.
if '+mpi' in spec: if '+mpi' in spec:
mpi = spec['mpi'] mpi = spec['mpi']
options.append('--enable-parallel=yes') options.append('--enable-parallel=yes')
options.append('MPIF90={0}'.format(mpi.mpifc)) options.append('MPIF90={0}'.format(mpi.mpifc))
options.append('CC={0}'.format(mpi.mpicc))
else: else:
options.append('--enable-parallel=no') options.append('--enable-parallel=no')
options.append('CC={0}'.format(env['SPACK_CC']))
options.append('F77={0}'.format(env['SPACK_F77']))
if '+openmp' in spec: if '+openmp' in spec:
options.append('--enable-openmp') options.append('--enable-openmp')
@ -178,12 +191,6 @@ def install(self, spec, prefix):
if '+hdf5' in spec: if '+hdf5' in spec:
options.append('--with-hdf5={0}'.format(spec['hdf5'].prefix)) options.append('--with-hdf5={0}'.format(spec['hdf5'].prefix))
options.extend([
'F77={0}'.format(env['SPACK_F77']),
'F90={0}'.format(env['SPACK_FC']),
'CC={0}'.format(env['SPACK_CC'])
])
configure(*options) configure(*options)
# Apparently the build system of QE is so broken that: # Apparently the build system of QE is so broken that: