summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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: