summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorYe Luo <yeluo@anl.gov>2024-08-27 12:44:01 -0500
committerGitHub <noreply@github.com>2024-08-27 13:44:01 -0400
commitb1af32cb601eb3844381cc500ba8cea3a820941a (patch)
tree7eb274d374aabf82d2b2ea250863f06064e6bf5a /var
parent9d8f94a7c83ee465c12f1e2216dec08ee979bc2c (diff)
downloadspack-b1af32cb601eb3844381cc500ba8cea3a820941a.tar.gz
spack-b1af32cb601eb3844381cc500ba8cea3a820941a.tar.bz2
spack-b1af32cb601eb3844381cc500ba8cea3a820941a.tar.xz
spack-b1af32cb601eb3844381cc500ba8cea3a820941a.zip
Introduce offload variant for llvm >= 19. (#45865)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index cc75f8019a..72a4d30d29 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -165,8 +165,12 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
"or as a project (with the compiler in use)",
)
+ variant("offload", default=True, when="@19:", description="Build the Offload subproject")
+ conflicts("+offload", when="~clang")
+
variant("libomptarget", default=True, description="Build the OpenMP offloading library")
conflicts("+libomptarget", when="~clang")
+ conflicts("+libomptarget", when="~offload @19:")
for _p in ["darwin", "windows"]:
conflicts("+libomptarget", when="platform={0}".format(_p))
del _p
@@ -912,6 +916,9 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
elif "openmp=project" in spec:
projects.append("openmp")
+ if "+offload" in spec:
+ runtimes.append("offload")
+
if "+libomptarget" in spec:
cmake_args.append(define("OPENMP_ENABLE_LIBOMPTARGET", True))
else: