diff options
author | Harmen Stoppels <harmenstoppels@gmail.com> | 2023-08-23 13:33:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-23 07:33:23 -0400 |
commit | 00a3ebd0bb8f819c544a066cf1547c3b1e524e0a (patch) | |
tree | afcb98f594a26765e540f9078485aa040a51e8ef /var/spack/repos/builtin/packages/llvm/package.py | |
parent | ffc9060e11a7240a3a0a00c3262c0c74c06eaee7 (diff) | |
download | spack-00a3ebd0bb8f819c544a066cf1547c3b1e524e0a.tar.gz spack-00a3ebd0bb8f819c544a066cf1547c3b1e524e0a.tar.bz2 spack-00a3ebd0bb8f819c544a066cf1547c3b1e524e0a.tar.xz spack-00a3ebd0bb8f819c544a066cf1547c3b1e524e0a.zip |
llvm: fix `elf` dep conditions and cmake bug (#39566)
Diffstat (limited to 'var/spack/repos/builtin/packages/llvm/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/llvm/package.py | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index 37c3bbca0e..63826fc6c9 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -277,8 +277,10 @@ class Llvm(CMakePackage, CudaPackage): depends_on("perl-data-dumper", type=("build")) depends_on("hwloc") depends_on("hwloc@2.0.1:", when="@13") - depends_on("elf", when="+cuda") # libomptarget - depends_on("libffi", when="+libomptarget") # libomptarget + with when("@:15"): + depends_on("elf", when="+cuda") + depends_on("elf", when="+libomptarget") + depends_on("libffi", when="+libomptarget") # llvm-config --system-libs libraries. depends_on("zlib-api") @@ -540,6 +542,9 @@ class Llvm(CMakePackage, CudaPackage): when="@13:14 compiler-rt=runtime", ) + patch("add-include-for-libelf-llvm-12-14.patch", when="@12:14") + patch("add-include-for-libelf-llvm-15.patch", when="@15") + # The functions and attributes below implement external package # detection for LLVM. See: # @@ -777,13 +782,7 @@ class Llvm(CMakePackage, CudaPackage): ] ) if "openmp=runtime" in spec: - cmake_args.extend( - [ - define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True), - # work around bad libelf detection in libomptarget - define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR", spec["elf"].prefix.include), - ] - ) + cmake_args.append(define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True)) else: # still build libomptarget but disable cuda cmake_args.extend( @@ -924,7 +923,6 @@ class Llvm(CMakePackage, CudaPackage): cmake_args.extend( [ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True), - define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR", spec["elf"].prefix.include), self.stage.source_path + "/openmp", ] ) |