PKGNAME=rocm-rccl
PKGDES="ROCm Communication Collectives Library (RCCL)"
PKGSEC=devel
PKGDEP="fmt rocm-llvm rocm-clr rocm-cmake rocm-roctracer rocm-smi-lib \
        rocm-hipify"
BUILDDEP="cmake ninja"

# FIXME unsupported LLD, and BFD without gold
#
# ld.lld: error: undefined hidden symbol: __hip_gpubin_handle_4d55cfec23d82624
NOLTO=1

USECLANG=1
# Note: Control Flow Protection is not supported by GPU targets.
#
# https://github.com/llvm/llvm-project/issues/86450
AB_FLAGS_CFP=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'
    '-DENABLE_MSCCLPP=OFF'
    '-DENABLE_MSCCL_KERNEL=OFF'
    '-DBUILD_LOCAL_GPU_TARGET_ONLY=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_BUILD_RPATH=/usr/lib/rocm/lib/llvm/lib;/usr/lib/rocm/lib'
)

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

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