summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/elemental/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/elemental/package.py')
-rw-r--r--var/spack/repos/builtin/packages/elemental/package.py20
1 files changed, 8 insertions, 12 deletions
diff --git a/var/spack/repos/builtin/packages/elemental/package.py b/var/spack/repos/builtin/packages/elemental/package.py
index 49306457d6..85dba11538 100644
--- a/var/spack/repos/builtin/packages/elemental/package.py
+++ b/var/spack/repos/builtin/packages/elemental/package.py
@@ -6,7 +6,6 @@
import os
from spack.package import *
-from spack.spec import UnsupportedCompilerError
class Elemental(CMakePackage):
@@ -23,6 +22,9 @@ class Elemental(CMakePackage):
version("0.87.7", sha256="7becfdbc223e9c72e65ae876d842c48d2037d13f83e9f41cea285e21b840d7d9")
version("0.87.6", sha256="b597987c99ddd3462e0619524c5b7f711177ae8ae541b1b961e11d96e15afc64")
+ depends_on("c", type="build") # generated
+ depends_on("cxx", type="build") # generated
+
variant("shared", default=True, description="Enables the build of shared libraries")
variant("hybrid", default=True, description="Make use of OpenMP within MPI packing/unpacking")
variant(
@@ -91,6 +93,8 @@ class Elemental(CMakePackage):
patch("elemental_cublas.patch", when="+cublas")
patch("cmake_0.87.7.patch", when="@0.87.7")
+ conflicts("%intel@:17.0.2", when="@:0.87.7")
+
@property
def libs(self):
shared = True if "+shared" in self.spec else False
@@ -98,14 +102,6 @@ class Elemental(CMakePackage):
def cmake_args(self):
spec = self.spec
-
- if "@:0.87.7" in spec and "%intel@:17.0.2" in spec:
- raise UnsupportedCompilerError(
- "Elemental {0} has a known bug with compiler: {1} {2}".format(
- spec.version, spec.compiler.name, spec.compiler.version
- )
- )
-
args = [
"-DCMAKE_INSTALL_MESSAGE:STRING=LAZY",
"-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
@@ -147,7 +143,7 @@ class Elemental(CMakePackage):
# If using 64bit int BLAS libraries, elemental has to build
# them internally
- if "+int64_blas" in spec:
+ if spec.satisfies("+int64_blas"):
args.extend(
[
"-DEL_BLAS_SUFFIX:STRING={0}".format(
@@ -156,7 +152,7 @@ class Elemental(CMakePackage):
"-DCUSTOM_BLAS_SUFFIX:BOOL=TRUE",
]
),
- if "+scalapack" in spec:
+ if spec.satisfies("+scalapack"):
args.extend(
[
"-DEL_LAPACK_SUFFIX:STRING={0}".format(
@@ -168,7 +164,7 @@ class Elemental(CMakePackage):
else:
math_libs = spec["lapack"].libs + spec["blas"].libs
- if "+scalapack" in spec:
+ if spec.satisfies("+scalapack"):
math_libs = spec["scalapack"].libs + math_libs
args.extend(["-DMATH_LIBS:STRING={0}".format(math_libs.ld_flags)])