PKGNAME=rocm-rocfft
PKGDES="ROCm FFT library"
PKGSEC=devel
PKGDEP="rocm-llvm rocm-clr rocm-cmake rocm-roctracer sqlite"
BUILDDEP="cmake"

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: ld.lld: error: undefined hidden symbol: __hip_gpubin_handle_*
NOLTO=1

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'
    '-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'
    '-DCMAKE_LINKER_TYPE=LLD'
    '-DSQLITE_USE_SYSTEM_PACKAGE=ON'
)

# 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)"
