PKGNAME=rocm-rocblas
PKGDES="rocBLAS is the AMD library for BLAS in ROCm. Implemented using the HIP language and optimized for AMD GPUs"
PKGSEC=devel
PKGDEP="rocm-llvm rocm-clr rocm-cmake rocm-hipblas-common rocm-roctracer rocm-hipblaslt rocm-origami"
BUILDDEP="cmake cargo rustc llvm maturin msgpack-c++ pyyaml python-msgpack"

USECLANG=1
# Note: Control Flow Protection is not supported by GPU targets.
#
# https://github.com/llvm/llvm-project/issues/86450
AB_FLAGS_CFP=0

# FIXME: Segmentation Fault
#  failed: null sections(STRTAB)
#  rocm-clr rocclr/elf/elf.cpp:282
ABSTRIP=0

ABTYPE=cmakeninja
CMAKE_AFTER=(
    '-DCMAKE_INSTALL_PREFIX=/usr/lib/rocm'
    '-DCMAKE_C_COMPILER=/usr/lib/rocm/lib/llvm/bin/clang'
    '-DCMAKE_CXX_COMPILER=/usr/lib/rocm/lib/llvm/bin/clang++'
    '-DCMAKE_SKIP_INSTALL_RPATH=OFF'
    '-DCMAKE_PREFIX_PATH=/usr/lib/rocm'
    '-DROCM_PATH=/usr/lib/rocm'
    '-DBUILD_CLIENTS_SAMPLES=OFF'
    '-DBUILD_CLIENTS_TESTS=OFF'
    '-DBUILD_CLIENTS_BENCHMARKS=OFF'
    '-DBUILD_FORTRAN_CLIENTS=OFF'
    '-DBUILD_WITH_HIPBLASLT=ON'
    '-DRUN_HEADER_TESTING=OFF'
    '-DCMAKE_FIND_ROOT_PATH=/usr/lib/rocm/;/usr/lib/rocm/lib/llvm/'
    '-DCMAKE_INSTALL_RPATH=/usr/lib/rocm/lib/llvm/lib;/usr/lib/rocm/lib'
    '-DCMAKE_LINKER_TYPE=LLD'
)

# Note: Disable iGPU/CDNA on ARM64. Reduce build pressure.
CMAKE_AFTER__ARM64=(
    "${CMAKE_AFTER[@]}"
    '-DGPU_TARGETS=gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201'
)

FAIL_ARCH="!(amd64|arm64|loongarch64)"
