spack/var/spack/repos/builtin/packages/rocm-device-libs/package.py
2023-02-16 10:14:31 +01:00

155 lines
4.8 KiB
Python

# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class RocmDeviceLibs(CMakePackage):
"""set of AMD specific device-side language runtime libraries"""
homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
git = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git"
url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-5.4.3.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "haampie")
version("master", branch="amd-stg-open")
version("5.4.3", sha256="f4f7281f2cea6d268fcc3662b37410957d4f0bc23e0df9f60b12eb0fcdf9e26e")
version("5.4.0", sha256="d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951")
version("5.3.3", sha256="963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768")
version("5.3.0", sha256="f7e1665a1650d3d0481bec68252e8a5e68adc2c867c63c570f6190a1d2fe735c")
version("5.2.3", sha256="16b7fc7db4759bd6fb54852e9855fa16ead76c97871d7e1e9392e846381d611a")
version("5.2.1", sha256="e5855387ce73ed483ed0d03dbfef31f297c6ca66cf816f6816fd5ee373fc8225")
version("5.2.0", sha256="901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c")
version("5.1.3", sha256="c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e")
version("5.1.0", sha256="47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f")
version(
"5.0.2",
sha256="49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e",
deprecated=True,
)
version(
"5.0.0",
sha256="83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0",
deprecated=True,
)
version(
"4.5.2",
sha256="50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61",
deprecated=True,
)
version(
"4.5.0",
sha256="78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77",
deprecated=True,
)
version(
"4.3.1",
sha256="a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592",
deprecated=True,
)
version(
"4.3.0",
sha256="055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2",
deprecated=True,
)
version(
"4.2.0",
sha256="34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f",
deprecated=True,
)
version(
"4.1.0",
sha256="f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b",
deprecated=True,
)
version(
"4.0.0",
sha256="d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a",
deprecated=True,
)
version(
"3.10.0",
sha256="bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc",
deprecated=True,
)
version(
"3.9.0",
sha256="c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7",
deprecated=True,
)
version(
"3.8.0",
sha256="e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574",
deprecated=True,
)
version(
"3.7.0",
sha256="b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d",
deprecated=True,
)
version(
"3.5.0",
sha256="dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378",
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.13.4:", type="build", when="@3.9.0:")
depends_on("cmake@3.4.3:", type="build")
depends_on("zlib", type="link", when="@3.9.0:")
depends_on("texinfo", type="link", when="@3.9.0:")
depends_on("rocm-cmake@3.5.0:", type="build")
# Make sure llvm is not built with rocm-device-libs (that is, it's already
# built with rocm-device-libs as an external project).
depends_on("llvm-amdgpu ~rocm-device-libs")
for ver in [
"3.5.0",
"3.7.0",
"3.8.0",
"3.9.0",
"3.10.0",
"4.0.0",
"4.1.0",
"4.2.0",
"4.3.0",
"4.3.1",
"4.5.0",
"4.5.2",
"5.0.0",
"5.0.2",
"5.1.0",
"5.1.3",
"5.2.0",
"5.2.1",
"5.2.3",
"5.3.0",
"5.3.3",
"5.4.0",
"5.4.3",
"master",
]:
depends_on("llvm-amdgpu@" + ver, when="@" + ver)
def cmake_args(self):
spec = self.spec
return [
self.define("LLVM_DIR", spec["llvm-amdgpu"].prefix),
self.define("CMAKE_C_COMPILER", spec["llvm-amdgpu"].prefix.bin.clang),
]