summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorSreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com>2023-02-07 04:33:08 +0530
committerGitHub <noreply@github.com>2023-02-06 15:03:08 -0800
commit7740b37923f8dbb0ad1c556adff83561980f6f21 (patch)
tree15611353dccd36df74afa1dfe2ddb2a70c368faa /var
parent358cc5ed1a2510d45e7342c651e7cc5d16448357 (diff)
downloadspack-7740b37923f8dbb0ad1c556adff83561980f6f21.tar.gz
spack-7740b37923f8dbb0ad1c556adff83561980f6f21.tar.bz2
spack-7740b37923f8dbb0ad1c556adff83561980f6f21.tar.xz
spack-7740b37923f8dbb0ad1c556adff83561980f6f21.zip
rocm llvm-amdgpu package - Build libcxx and libcxxabi thru LLVM_ENABLE_RUNTIMES flag. (#33610)
* changes to enable LLVM_ENABLE_RUNTIMES for libcxx and libcxxabi * remove version update for 5.3.0 as it is done thru PR #33320 to enable ci and reviews
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/llvm-amdgpu/package.py29
1 files changed, 19 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
index f25055e25d..4b7467e396 100644
--- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
+++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
@@ -17,6 +17,7 @@ class LlvmAmdgpu(CMakePackage):
git = "https://github.com/RadeonOpenCompute/llvm-project.git"
url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-5.4.0.tar.gz"
tags = ["rocm"]
+ generator = "Ninja"
maintainers("srekolam", "renjithravindrankannath", "haampie")
@@ -140,6 +141,8 @@ class LlvmAmdgpu(CMakePackage):
depends_on("z3", type="link")
depends_on("zlib", type="link")
depends_on("ncurses+termlib", type="link")
+ depends_on("ninja", type="build")
+ depends_on("pkgconfig", type="build")
# openmp dependencies
depends_on("perl-data-dumper", type=("build"), when="+openmp")
@@ -210,24 +213,30 @@ class LlvmAmdgpu(CMakePackage):
def cmake_args(self):
llvm_projects = ["clang", "lld", "clang-tools-extra", "compiler-rt"]
+ llvm_runtimes = []
args = []
if self.spec.satisfies("@4.3.0:"):
args = [
self.define("LLVM_ENABLE_Z3_SOLVER", "OFF"),
self.define("LLLVM_ENABLE_ZLIB", "ON"),
self.define("CLANG_DEFAULT_LINKER", "lld"),
+ self.define("LIBCXX_ENABLE_SHARED", "OFF"),
+ self.define("LIBCXX_ENABLE_STATIC", "ON"),
+ self.define("LIBCXX_INSTALL_LIBRARY", "OFF"),
+ self.define("LIBCXX_INSTALL_HEADERS", "OFF"),
+ self.define("LIBCXXABI_ENABLE_SHARED", "OFF"),
+ self.define("LIBCXXABI_ENABLE_STATIC", "ON"),
+ self.define("LIBCXXABI_INSTALL_STATIC_LIBRARY", "OFF"),
]
if self.spec.satisfies("@4.3.0:4.5.2"):
llvm_projects.append("libcxx")
llvm_projects.append("libcxxabi")
- args.append(self.define("LIBCXX_ENABLE_SHARED", "OFF"))
- args.append(self.define("LIBCXX_ENABLE_STATIC", "ON"))
- args.append(self.define("LIBCXX_INSTALL_LIBRARY", "OFF"))
- args.append(self.define("LIBCXX_INSTALL_HEADERS", "OFF"))
- args.append(self.define("LIBCXXABI_ENABLE_SHARED", "OFF"))
- args.append(self.define("LIBCXXABI_ENABLE_STATIC", "ON"))
- args.append(self.define("LIBCXXABI_INSTALL_STATIC_LIBRARY", "OFF"))
-
+ if self.spec.satisfies("@5.0.0:"):
+ llvm_runtimes.append("libcxx")
+ llvm_runtimes.append("libcxxabi")
+ args.append(self.define("LLVM_TARGETS_TO_BUILD", "AMDGPU;X86"))
+ args.append(self.define("LLVM_AMDGPU_ALLOW_NPI_TARGETS", "ON"))
+ args.extend([self.define("LLVM_ENABLE_RUNTIMES", ";".join(llvm_runtimes))])
if "+openmp" in self.spec:
llvm_projects.append("openmp")
@@ -256,7 +265,7 @@ class LlvmAmdgpu(CMakePackage):
if "+link_llvm_dylib" in self.spec:
args.append("-DLLVM_LINK_LLVM_DYLIB:Bool=ON")
- args.append("-DDCLANG_LINK_CLANG_DYLIB:Bool=ON")
+ args.append("-DCLANG_LINK_CLANG_DYLIB:Bool=ON")
# Get the GCC prefix for LLVM.
if self.compiler.name == "gcc":
@@ -268,7 +277,7 @@ class LlvmAmdgpu(CMakePackage):
def post_install(self):
# TODO:Enabling LLVM_ENABLE_RUNTIMES for libcxx,libcxxabi did not build.
# bootstraping the libcxx with the just built clang
- if self.spec.satisfies("@4.5.0:5.2"):
+ if self.spec.satisfies("@4.5.0:4.5.2"):
spec = self.spec
define = self.define
libcxxdir = "build-bootstrapped-libcxx"