65 lines
1.6 KiB
Plaintext
65 lines
1.6 KiB
Plaintext
# Description: Optimized BLAS library
|
|
# URL: https://www.openblas.net/
|
|
# Maintainer: Tim Biermann, tbier at posteo dot de
|
|
# Depends on: gcc-fortran
|
|
|
|
name=openblas
|
|
version=0.3.26
|
|
release=1
|
|
source=(https://github.com/xianyi/OpenBLAS/archive/v$version/OpenBLAS-$version.tar.gz)
|
|
|
|
build () {
|
|
cd OpenBLAS-$version
|
|
|
|
export MAKE_NB_JOBS=-1 \
|
|
COMMON_OPT=" " \
|
|
FCOMMON_OPT=" "
|
|
|
|
local flags=(
|
|
PREFIX=$PKG/usr
|
|
NO_LAPACK=1
|
|
NO_LAPACKE=1
|
|
NO_STATIC=1
|
|
NO_AFFINITY=1
|
|
USE_OPENMP=1
|
|
DYNAMIC_ARCH=1
|
|
NUM_THREADS=64
|
|
MAJOR_VERSION=3
|
|
USE_THREAD=1
|
|
CFLAGS="$CFLAGS $CPPFLAGS"
|
|
)
|
|
|
|
make "${flags[@]}"
|
|
|
|
make "${flags[@]}" install
|
|
|
|
# Symlink to provide blas & cblas
|
|
cd $PKG/usr/lib/
|
|
local _lapackver='3.11.0'
|
|
# BLAS
|
|
ln -sf libopenblasp-r$version.so libblas.so
|
|
ln -sf libopenblasp-r$version.so libblas.so.${_lapackver:0:1}
|
|
ln -sf libopenblasp-r$version.so libblas.so.${_lapackver}
|
|
# CBLAS
|
|
ln -sf libopenblasp-r$version.so libcblas.so
|
|
ln -sf libopenblasp-r$version.so libcblas.so.${_lapackver:0:1}
|
|
ln -sf libopenblasp-r$version.so libcblas.so.${_lapackver}
|
|
# LAPACK
|
|
# provided by lapack
|
|
# LAPACKE
|
|
# provided by lapack
|
|
#rm -r $PKG/usr/include/lapack*
|
|
|
|
# fix paths
|
|
sed -i 's|'$PKG'||g' $PKG/usr/lib/cmake/$name/*.cmake
|
|
sed -i 's|'$PKG'||g' $PKG/usr/lib/pkgconfig/openblas.pc
|
|
|
|
# remove host CPU info if built with DYNAMIC_ARCH=1
|
|
sed -i '/#define OPENBLAS_NEEDBUNDERSCORE/,/#define OPENBLAS_VERSION/{//!d}' \
|
|
$PKG/usr/include/openblas_config.h
|
|
|
|
# provide pkgconfig files for blas and cblas
|
|
ln -s openblas.pc $PKG/usr/lib/pkgconfig/blas.pc
|
|
ln -s openblas.pc $PKG/usr/lib/pkgconfig/cblas.pc
|
|
}
|