summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAnnop Wongwathanarat <annop.wongwathanarat@gmail.com>2022-11-28 12:55:51 +0000
committerGitHub <noreply@github.com>2022-11-28 13:55:51 +0100
commit2a7ae2a7009c946a9baccd818a3385288d3f187c (patch)
tree5f6019aef7f87c46aecb3f82ca74c9cb46a781ee /var
parenta1b4e1bccd5e4ffb8f0dc7b988453f1eb847ee32 (diff)
downloadspack-2a7ae2a7009c946a9baccd818a3385288d3f187c.tar.gz
spack-2a7ae2a7009c946a9baccd818a3385288d3f187c.tar.bz2
spack-2a7ae2a7009c946a9baccd818a3385288d3f187c.tar.xz
spack-2a7ae2a7009c946a9baccd818a3385288d3f187c.zip
armpl-gcc: add post-installation check by running examples (#34086)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/armpl-gcc/package.py39
1 files changed, 24 insertions, 15 deletions
diff --git a/var/spack/repos/builtin/packages/armpl-gcc/package.py b/var/spack/repos/builtin/packages/armpl-gcc/package.py
index edb14359d8..d3e9097251 100644
--- a/var/spack/repos/builtin/packages/armpl-gcc/package.py
+++ b/var/spack/repos/builtin/packages/armpl-gcc/package.py
@@ -201,23 +201,25 @@ class ArmplGcc(Package):
exe("--accept", "--force", "--install-to", prefix)
@property
+ def lib_suffix(self):
+ suffix = ""
+ suffix += "_ilp64" if self.spec.satisfies("+ilp64") else ""
+ suffix += "_mp" if self.spec.satisfies("threads=openmp") else ""
+ return suffix
+
+ @property
def blas_libs(self):
armpl_prefix = get_armpl_prefix(self.spec)
- shared = True if "+shared" in self.spec else False
- if "+ilp64" in self.spec and self.spec.satisfies("threads=openmp"):
- libname = "libarmpl_ilp64_mp"
- elif "+ilp64" in self.spec:
- libname = "libarmpl_ilp64"
- elif self.spec.satisfies("threads=openmp"):
- libname = "libarmpl_mp"
- else:
- libname = "libarmpl"
+ libname = "libarmpl" + self.lib_suffix
# Get ArmPL Lib
armpl_libs = find_libraries(
- [libname, "libamath", "libastring"], root=armpl_prefix, shared=shared, recursive=True
+ [libname, "libamath", "libastring"],
+ root=armpl_prefix,
+ shared=self.spec.satisfies("+shared"),
+ recursive=True,
)
armpl_libs += find_system_libraries(["libm"])
@@ -239,11 +241,9 @@ class ArmplGcc(Package):
@property
def headers(self):
armpl_dir = get_armpl_prefix(self.spec)
- suffix = "include"
- if self.spec.satisfies("+ilp64"):
- suffix += "_ilp64"
- if self.spec.satisfies("threads=openmp"):
- suffix += "_mp"
+
+ suffix = "include" + self.lib_suffix
+
incdir = join_path(armpl_dir, suffix)
hlist = find_all_headers(incdir)
@@ -253,3 +253,12 @@ class ArmplGcc(Package):
def setup_run_environment(self, env):
armpl_dir = get_armpl_prefix(self.spec)
env.prepend_path("LD_LIBRARY_PATH", join_path(armpl_dir, "lib"))
+
+ @run_after("install")
+ def check_install(self):
+ armpl_dir = get_armpl_prefix(self.spec)
+ armpl_example_dir = join_path(armpl_dir, "examples")
+ # run example makefile
+ make("-C", armpl_example_dir, "ARMPL_DIR=" + armpl_dir)
+ # clean up
+ make("-C", armpl_example_dir, "ARMPL_DIR=" + armpl_dir, "clean")