singularity-eos: (#35625)

The Cray fortran compiler names fortran modules in uppercase by
default. Compile with the "-ef" flag to produce the lowercase
name that singularity-eos is expecting.
This commit is contained in:
QuellynSnead 2023-03-08 01:58:34 -07:00 committed by GitHub
parent 5b3ad0adaa
commit 80d784c401
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -106,6 +106,16 @@ class SingularityEos(CMakePackage, CudaPackage):
depends_on("py-h5py" + _flag, when="@:1.6.2 " + _flag) depends_on("py-h5py" + _flag, when="@:1.6.2 " + _flag)
depends_on("kokkos-nvcc-wrapper" + _flag, when="+cuda+kokkos" + _flag) depends_on("kokkos-nvcc-wrapper" + _flag, when="+cuda+kokkos" + _flag)
def flag_handler(self, name, flags):
if name == "fflags":
if self.spec.satisfies("%cce+fortran"):
# The Cray fortran compiler generates module files with
# uppercase names by default, which is not handled by the
# CMake scripts. The following flag forces the compiler to
# produce module files with lowercase names.
flags.append("-ef")
return (flags, None, None)
def cmake_args(self): def cmake_args(self):
args = [ args = [
self.define("SINGULARITY_PATCH_MPARK_VARIANT", False), self.define("SINGULARITY_PATCH_MPARK_VARIANT", False),