diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index 46dc7356b43..b1f4d5289b6 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -68,6 +68,7 @@ def url_for_version(self, version): depends_on("zlib-api", type="link") depends_on("z3", type="link") depends_on("ncurses", type="link") + requires(f"%[virtuals=c,cxx] llvm-amdgpu") for ver in [ "5.3.0", @@ -94,12 +95,9 @@ def url_for_version(self, version): "6.3.3", "master", ]: - # llvm libs are linked statically, so this *could* be a build dep - depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") - - # aomp may not build rocm-device-libs as part of llvm-amdgpu, so make - # that a conditional dependency - depends_on(f"rocm-device-libs@{ver}", when=f"@{ver} ^llvm-amdgpu ~rocm-device-libs") + # in reality this should be a link type dep, but libLLVM is linked statically, + # and just requiring llvm-amdgpu as a compiler suffices for now. + requires(f"%llvm-amdgpu@{ver}", when=f"@{ver}") depends_on(f"rocm-cmake@{ver}", when=f"@{ver}", type="build") for ver in [ diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index 055c74f73bd..73100e2ff76 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -69,6 +69,8 @@ class Hip(CMakePackage): depends_on("libedit", type="build") depends_on("perl@5.10:", type=("build", "run")) + requires("%[virtuals=c,cxx] llvm-amdgpu") + test_requires_compiler = True with when("+rocm"): @@ -123,8 +125,8 @@ class Hip(CMakePackage): "6.3.3", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + requires(f"%llvm-amdgpu@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") - depends_on(f"llvm-amdgpu@{ver} +rocm-device-libs", when=f"@{ver}") depends_on(f"rocminfo@{ver}", when=f"@{ver}") depends_on(f"roctracer-dev-api@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py index 461650a343d..cf4ae5f7c94 100644 --- a/var/spack/repos/builtin/packages/hipify-clang/package.py +++ b/var/spack/repos/builtin/packages/hipify-clang/package.py @@ -57,6 +57,8 @@ class HipifyClang(CMakePackage): depends_on("cxx", type="build") depends_on("cmake@3.5:", type="build") + requires(f"%[virtuals=c,cxx] llvm-amdgpu") + for ver in [ "5.3.0", "5.3.3", @@ -82,7 +84,7 @@ class HipifyClang(CMakePackage): "6.3.3", "master", ]: - depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") + requires(f"%llvm-amdgpu@{ver}", when=f"@{ver}") for ver in [ "5.5.0", diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py index 0df4ab5fe3c..94bf198c3d7 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -64,6 +64,7 @@ class HsaRocrDev(CMakePackage): depends_on("numactl") depends_on("pkgconfig") depends_on("libdrm", when="@6.3:") + requires(f"%[virtuals=c,cxx] llvm-amdgpu") for ver in [ "5.3.0", @@ -112,9 +113,7 @@ class HsaRocrDev(CMakePackage): "6.3.3", "master", ]: - depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") - # allow standalone rocm-device-libs (useful for aomp) - depends_on(f"rocm-device-libs@{ver}", when=f"@{ver} ^llvm-amdgpu ~rocm-device-libs") + requires(f"%llvm-amdgpu@{ver}", when=f"@{ver}") for ver in [ "5.5.0",