aboutsummaryrefslogtreecommitdiffstats
path: root/Mk/Uses
diff options
context:
space:
mode:
authorthierry <thierry@FreeBSD.org>2015-01-06 04:43:02 +0800
committerthierry <thierry@FreeBSD.org>2015-01-06 04:43:02 +0800
commit280cf82421d9495985671977edb66f52cba9d71b (patch)
tree04e6713643e38500422dfa9f6746eddfb2dbf4fc /Mk/Uses
parentbca0d5199fe64cc9589ea984104eec22daef8512 (diff)
downloadfreebsd-ports-gnome-280cf82421d9495985671977edb66f52cba9d71b.tar.gz
freebsd-ports-gnome-280cf82421d9495985671977edb66f52cba9d71b.tar.zst
freebsd-ports-gnome-280cf82421d9495985671977edb66f52cba9d71b.zip
Adding ports/Mk/Uses/blaslapack.mk.
It handles the dependencies and defines BLASLIB and LAPACKLIB for the different blas / lapack implementations. It defaults to netlib, the reference libraries, but Openblas, Gotoblas or ATLAS can be selected. Differential Revision: D1354
Diffstat (limited to 'Mk/Uses')
-rw-r--r--Mk/Uses/blaslapack.mk52
1 files changed, 52 insertions, 0 deletions
diff --git a/Mk/Uses/blaslapack.mk b/Mk/Uses/blaslapack.mk
new file mode 100644
index 000000000000..d497654c429a
--- /dev/null
+++ b/Mk/Uses/blaslapack.mk
@@ -0,0 +1,52 @@
+# $FreeBSD$
+#
+# Handle dependencies on Blas / Lapack
+#
+# Feature: blaslapack
+# Usage: USES=blaslapack or USES=blaslapack:ARGS
+# Valid ARGS: atlas netlib gotoblas openblas (default)
+#
+# Provides: BLASLIB and LAPACKLIB
+#
+# Maintainer: thierry@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_BLASLAPACK_MK)
+_INCLUDE_USES_BLASLAPACK_MK= yes
+
+_valid_ARGS= atlas gotoblas netlib openblas
+
+_DEFAULT_BLASLAPACK= netlib
+
+.if empty(blaslapack_ARGS)
+blaslapack_ARGS= ${_DEFAULT_BLASLAPACK}
+.endif
+
+LDFLAGS+= -L${LOCALBASE}/lib
+
+.if ${blaslapack_ARGS} == atlas
+LIB_DEPENDS+= libatlas.so:${PORTSDIR}/math/atlas
+_BLASLIB= ptf77blas
+LAPACKLIB= -lalapack -lptcblas
+_ATLASLIB= atlas
+ATLASLIB= -l${_ATLASLIB}
+.elif ${blaslapack_ARGS} == gotoblas
+LIB_DEPENDS+= libgoto2.so:${PORTSDIR}/math/gotoblas
+LIB_DEPENDS+= liblapack.so:${PORTSDIR}/math/lapack
+_BLASLIB= goto2p
+LAPACKLIB= -lgoto2p
+.elif ${blaslapack_ARGS} == netlib
+LIB_DEPENDS+= libblas.so:${PORTSDIR}/math/blas
+LIB_DEPENDS+= liblapack.so:${PORTSDIR}/math/lapack
+_BLASLIB= blas
+LAPACKLIB= -llapack
+.elif ${blaslapack_ARGS} == openblas
+LIB_DEPENDS+= libopenblas.so:${PORTSDIR}/math/openblas
+_BLASLIB= openblasp
+LAPACKLIB= -lopenblasp
+.else
+IGNORE= USES=blaslapack: invalid arguments: ${blaslapack_ARGS}
+.endif
+
+BLASLIB= -l${_BLASLIB}
+
+.endif