# Template file for 'openblas'
pkgname=openblas
version=0.3.29
revision=1
build_style=gnu-makefile
make_build_args="HOSTCC=gcc USE_OPENMP=1"
make_install_args="OPENBLAS_INCLUDE_DIR=\$(PREFIX)/include/openblas"
hostmakedepends="perl gcc-fortran"
makedepends="libgomp-devel"
short_desc="Optimized BLAS (Basic Linear Algebra Subprograms) based on GotoBLAS2"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="BSD-3-Clause"
homepage="https://www.openblas.net/"
changelog="https://raw.githubusercontent.com/xianyi/OpenBLAS/develop/Changelog.txt"
distfiles="https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz"
checksum=38240eee1b29e2bde47ebb5d61160207dc68668a54cac62c076bb5032013b1eb

case "$XBPS_TARGET_MACHINE" in
	ppc64*) ;;
	ppc*) broken="crashes during build";;
esac

case "${XBPS_TARGET_MACHINE}" in
	armv5*) make_build_args+=" TARGET=ARMV5" ;;
	armv6*) make_build_args+=" TARGET=ARMV6" ;;
	armv7*) make_build_args+=" TARGET=ARMV7" ;;
	aarch64*) make_build_args+=" TARGET=ARMV8 DYNAMIC_ARCH=1" ;;
	i686*) make_build_args+=" BINARY=32 TARGET=GENERIC DYNAMIC_ARCH=1" ;;
	x86_64*) make_build_args+=" BINARY=64 TARGET=GENERIC DYNAMIC_ARCH=1" ;;
	ppc64le*) make_build_args+=" TARGET=POWER8 DYNAMIC_ARCH=1" ;;
	ppc64*) make_build_args+=" TARGET=PPC970MP" ;; # dynamic arch broken for <power6
	ppc*) make_build_args+=" TARGET=PPCG4" ;;
	riscv64*) make_build_args+=" TARGET=RISCV64_GENERIC DYNAMIC_ARCH=1" ;;
	mips*) broken="Not supported" ;;
	*) broken="Add your CPU" ;;
esac

post_install() {
	vlicense LICENSE
}

openblas-devel_package() {
	depends="${sourcepkg}>=${version}_${revision} libgomp-devel"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include/openblas
		vmove usr/lib/cmake
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.a"
		vmove usr/lib/libopenblas.so
	}
}
