summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAlex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com>2023-01-10 05:04:16 -0800
committerGitHub <noreply@github.com>2023-01-10 14:04:16 +0100
commitcc333b600c797264aec7ca6f0d77cff1fb658c38 (patch)
treefe392e0f79eddfd40a21429232778ebfa52f8ae1 /var
parent006969a8cd0e5a1d80eb1ace005a49611d5d5d6e (diff)
downloadspack-cc333b600c797264aec7ca6f0d77cff1fb658c38.tar.gz
spack-cc333b600c797264aec7ca6f0d77cff1fb658c38.tar.bz2
spack-cc333b600c797264aec7ca6f0d77cff1fb658c38.tar.xz
spack-cc333b600c797264aec7ca6f0d77cff1fb658c38.zip
Add variants for overriding ESMF_OS and ESMF_COMM for ESMF package (#34808)
* Add variants for overriding ESMF_OS and ESMF_COMM for ESMF package * Add doco for esmf_os/esmf_comm variants
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/esmf/package.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py
index 31c97b2003..4d7ef3bccb 100644
--- a/var/spack/repos/builtin/packages/esmf/package.py
+++ b/var/spack/repos/builtin/packages/esmf/package.py
@@ -90,6 +90,11 @@ class Esmf(MakefilePackage):
)
variant("debug", default=False, description="Make a debuggable version of the library")
variant("shared", default=True, description="Build shared library")
+ # 'esmf_comm' and 'esmf_os' variants allow override values for their corresponding
+ # build environment variables. Documentation, including valid values, can be found at
+ # https://earthsystemmodeling.org/docs/release/latest/ESMF_usrdoc/node10.html#SECTION000105000000000000000
+ variant("esmf_comm", default="auto", description="Override for ESMF_COMM variable")
+ variant("esmf_os", default="auto", description="Override for ESMF_OS variable")
# Required dependencies
depends_on("zlib")
@@ -251,6 +256,11 @@ class Esmf(MakefilePackage):
if self.compiler.name == "cce" or "^cray-mpich" in self.spec:
os.environ["ESMF_OS"] = "Unicos"
+ # Allow override of ESMF_OS:
+ os_variant = spec.variants["esmf_os"].value
+ if os_variant != "auto":
+ os.environ["ESMF_OS"] = os_variant
+
#######
# MPI #
#######
@@ -284,6 +294,11 @@ class Esmf(MakefilePackage):
# Force use of the single-processor MPI-bypass library.
os.environ["ESMF_COMM"] = "mpiuni"
+ # Allow override of ESMF_COMM:
+ comm_variant = spec.variants["esmf_comm"].value
+ if comm_variant != "auto":
+ os.environ["ESMF_COMM"] = comm_variant
+
##########
# LAPACK #
##########