diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/plasma/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/plasma/package.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/plasma/package.py b/var/spack/repos/builtin/packages/plasma/package.py index 4565350303..29afcef8ac 100644 --- a/var/spack/repos/builtin/packages/plasma/package.py +++ b/var/spack/repos/builtin/packages/plasma/package.py @@ -31,6 +31,7 @@ class Plasma(MakefilePackage): depends_on("blas") depends_on("lapack") + depends_on("readline", when='@17.2:') conflicts("atlas") # does not have LAPACKE interface @@ -44,7 +45,9 @@ class Plasma(MakefilePackage): conflicts("veclibfort") # only GCC 4.9+ and higher have sufficient support for OpenMP 4+ tasks+deps - conflicts("%gcc@:4.8.99") + conflicts("%gcc@:4.8.99", when='@:17.1') + # only GCC 6.0+ and higher have for OpenMP 4+ Clause "priority" + conflicts("%gcc@:5.99", when='@17.2:') conflicts("%cce") conflicts("%clang") @@ -77,6 +80,7 @@ class Plasma(MakefilePackage): if "^mkl" not in spec: make_inc.filter("-DPLASMA_WITH_MKL", "") # not using MKL + make_inc.filter("-DHAVE_MKL", "") # not using MKL header_flags = "" # accumulate CPP flags for headers: <cblas.h> and <lapacke.h> @@ -94,8 +98,11 @@ class Plasma(MakefilePackage): # make sure CC variable comes from build environment make_inc.filter("CC *[?]*= * .*cc", "") - make_inc.filter("LIBS *[?]*= * .*", "LIBS = " + - self.getblaslapacklibs().ld_flags) + libs = self.getblaslapacklibs().ld_flags + if 'readline' in self.spec: + libs += ' ' + self.spec['readline'].libs.ld_flags + libs += ' ' + find_system_libraries(['libdl']).ld_flags + make_inc.filter("LIBS *[?]*= * .*", "LIBS = " + libs) @property def build_targets(self): @@ -107,7 +114,8 @@ class Plasma(MakefilePackage): if "^mkl" in self.spec: targets.append("MKLROOT = {0}".format(env["MKLROOT"])) - targets.append("LIBS = {0}".format( - self.getblaslapacklibs().ld_flags)) - + targets.append("LIBS = {0} {1} {2}".format( + self.getblaslapacklibs().ld_flags, + self.spec['readline'].libs.ld_flags, + find_system_libraries(['libdl']).ld_flags)) return targets |