summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/elk/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/elk/package.py')
-rw-r--r--var/spack/repos/builtin/packages/elk/package.py27
1 files changed, 14 insertions, 13 deletions
diff --git a/var/spack/repos/builtin/packages/elk/package.py b/var/spack/repos/builtin/packages/elk/package.py
index 96dda40d5e..a010200e49 100644
--- a/var/spack/repos/builtin/packages/elk/package.py
+++ b/var/spack/repos/builtin/packages/elk/package.py
@@ -25,6 +25,9 @@ class Elk(MakefilePackage):
deprecated=True,
)
+ depends_on("c", type="build") # generated
+ depends_on("fortran", type="build") # generated
+
# what linear algebra packages to use? the choices are
# internal - use internal libraries
# generic - use spack-provided blas and lapack
@@ -122,8 +125,6 @@ class Elk(MakefilePackage):
flags = "-O3 -ffast-math -funroll-loops"
if spec.satisfies("%gcc@10:"):
flags += " -fallow-argument-mismatch "
- elif self.compiler.name == "pgi":
- flags = "-O3 -lpthread"
elif self.compiler.name == "g95":
flags = "-O3 -fno-second-underscore"
elif self.compiler.name == "nag":
@@ -133,7 +134,7 @@ class Elk(MakefilePackage):
config["F90_OPTS"] = flags
config["F77_OPTS"] = flags
- if "+mpi" in spec:
+ if spec.satisfies("+mpi"):
config["F90"] = spec["mpi"].mpifc
config["F77"] = spec["mpi"].mpif77
config["SRC_MPI"] = " "
@@ -143,7 +144,7 @@ class Elk(MakefilePackage):
config["SRC_MPI"] = "mpi_stub.f90"
# OpenMP support
- if "+openmp" in spec:
+ if spec.satisfies("+openmp"):
config["F90_OPTS"] += " " + self.compiler.openmp_flag
config["F77_OPTS"] += " " + self.compiler.openmp_flag
config["SRC_OMP"] = " "
@@ -151,29 +152,29 @@ class Elk(MakefilePackage):
# BLAS/LAPACK support
# Note: openblas must be compiled with OpenMP support
# if the +openmp variant is chosen
- if "linalg=internal" in spec:
+ if spec.satisfies("linalg=internal"):
self.build_targets.append("blas")
self.build_targets.append("lapack")
- if "linalg=generic" in spec:
+ if spec.satisfies("linalg=generic"):
blas = spec["blas"].libs.joined()
lapack = spec["lapack"].libs.joined()
config["LIB_LPK"] = " ".join([lapack, blas])
- if "linalg=openblas" in spec:
+ if spec.satisfies("linalg=openblas"):
config["LIB_LPK"] = spec["openblas"].libs.ld_flags
config["SRC_OBLAS"] = " "
- if "linalg=mkl" in spec:
+ if spec.satisfies("linalg=mkl"):
config["LIB_LPK"] = spec["mkl"].libs.ld_flags
config["SRC_MKL"] = " "
- if "linalg=blis" in spec:
+ if spec.satisfies("linalg=blis"):
config["LIB_LPK"] = " ".join(["lapack.a ", spec["blis"].libs.ld_flags])
config["SRC_BLIS"] = " "
# FFT
- if "fft=internal" in spec:
+ if spec.satisfies("fft=internal"):
self.build_targets.append("fft")
- elif "fft=fftw" in spec:
+ elif spec.satisfies("fft=fftw"):
config["LIB_FFT"] = spec["fftw"].libs.ld_flags
config["SRC_FFT"] = "zfftifc_fftw.f90"
- elif "fft=mkl" in spec:
+ elif spec.satisfies("fft=mkl"):
config["LIB_FFT"] = spec["mkl"].libs.ld_flags
config["SRC_FFT"] = "mkl_dfti.f90 zfftifc_mkl.f90"
cp = which("cp")
@@ -189,7 +190,7 @@ class Elk(MakefilePackage):
self.build_targets.append("elk")
print(self.build_targets)
# Libxc support
- if "+libxc" in spec:
+ if spec.satisfies("+libxc"):
config["LIB_libxc"] = " ".join(
[
join_path(spec["libxc"].prefix.lib, "libxcf90.so"),