PKGNAME=suitesparse
PKGSEC=math
PKGDEP="lapack tbb"
BUILDDEP__CUDA="${BUILDDEP} cuda"
BUILDDEP__AMD64="${BUILDDEP__CUDA}"
BUILDDEP__ARM64="${BUILDDEP__CUDA}"
PKGSUG__CUDA="${PKGSUG} cuda"
PKGSUG__AMD64="${PKGSUG__CUDA}"
PKGSUG__ARM64="${PKGSUG__CUDA}"
PKGDES="A collection of sparse matrix libraries"

ABTYPE=cmakeninja
CMAKE_AFTER__COMMON=(
	-DSUITESPARSE_USE_STRICT=ON
	-DBLA_VENDOR=Generic
)
CMAKE_AFTER=(
	"${CMAKE_AFTER__COMMON[@]}"
	-DSUITESPARSE_USE_CUDA=OFF
)

CMAKE_AFTER__CUDA=(
	"${CMAKE_AFTER__COMMON[@]}"
	-DSUITESPARSE_USE_CUDA=ON
	-DCUDAToolkit_ROOT="/usr/lib/cuda"
	-DCMAKE_CUDA_COMPILER="/usr/lib/cuda/bin/nvcc"
)
CMAKE_AFTER__AMD64="${CMAKE_AFTER__CUDA[@]}"
CMAKE_AFTER__ARM64="${CMAKE_AFTER__CUDA[@]}"

PKGBREAK="clp<=1.17.6-1 gegl-0.4<=0.4.48 octave<=6.4.0-2 scikit-sparse<=0.4.6"

# FIXME: relocation truncated to fit: R_MIPS_TLS_GD against `GB_CONTEXT_THREAD'
# By not using LTO, we have access to other TLS models
NOLTO__LOONGSON3=1
