From b1af32cb601eb3844381cc500ba8cea3a820941a Mon Sep 17 00:00:00 2001 From: Ye Luo Date: Tue, 27 Aug 2024 12:44:01 -0500 Subject: Introduce offload variant for llvm >= 19. (#45865) --- var/spack/repos/builtin/packages/llvm/package.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'var') 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: -- cgit v1.2.3-70-g09d2