1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-25 04:43:33 +00:00

Add xblas 1.0.248, extra Precise Basic Linear Algebra Subroutines

(BLAS).
This commit is contained in:
Brendan Fabeny 2012-01-06 10:50:11 +00:00
parent dc46c963ce
commit 6ff43c6512
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=288627
4 changed files with 142 additions and 0 deletions

View File

@ -603,6 +603,7 @@
SUBDIR += wingz3
SUBDIR += wxMaxima
SUBDIR += x12arima
SUBDIR += xblas
SUBDIR += xgfe
SUBDIR += xgobi
SUBDIR += xgraph

119
math/xblas/Makefile Normal file
View File

@ -0,0 +1,119 @@
# ex:ts=8
# Ports collection makefile for: xblas
# Date created: 5 January 2012
# Whom: bf@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= xblas
PORTVERSION= 1.0.248
CATEGORIES= math
MASTER_SITES= NL/xblas LOCAL/bf
DISTNAME= xblas
MAINTAINER= bf@FreeBSD.org
COMMENT= Extra Precise Basic Linear Algebra Subroutines (BLAS)
LICENSE= BSD
USE_LDCONFIG= yes
CFLAGS+= ${MANGLING}
HDIR= include/xblas
HEADERS= blas_dense_proto.h blas_enum.h blas_extended.h \
blas_extended_private.h blas_extended_proto.h blas_fpu.h \
blas_malloc.h f2c-bridge.h
MAKE_ENV= EXTRA_LIBS="-lm" LINKER="${CC}" M4="${M4}" RANLIB="${RANLIB}"
OPTIONS= SHARED "Build a shared library and PIC archive" on \
STATIC "Build a non-PIC archive" off
PLIST_DIRS= ${HDIR}
PLIST_FILES= ${HEADERS:S|^|${HDIR}/|}
SHLIB_MAJOR= 0
WRKSRC = ${WRKDIR}/xblas-${PORTVERSION}
.include <bsd.port.options.mk>
M4?= m4
M4_OPTS?= #empty
MANGLING?= -DCONFIG_FC_UNDERSCORE
.if ${ARCH} == "i386" || ${ARCH} == "amd64"
CFLAGS+= -Dx86
.endif
.if ${ARCH} == "sparc64"
PICFLAG= -fPIC
.else
PICFLAG= -fpic
.endif
.ifndef(NOPORTDOCS)
PORTDOCS= report.ps
.endif
.ifdef(WITH_SHARED)
PLIST_FILES+= lib/libxblas_pic.a lib/libxblas.so lib/libxblas.so.${SHLIB_MAJOR}
.endif
.ifdef(WITH_STATIC)
PLIST_FILES+= lib/libxblas.a
.endif
post-patch:
@${REINPLACE_CMD} -E \
-e '/(ARCH|CC|(C|LD)FLAGS|EXTRA_LIBS|M4|M4_OPTS|RANLIB|XBLASLIB)[[:blank:]]*=/d' \
${WRKSRC}/make.inc
.ifdef(WITH_STATIC)
@${CP} -af ${WRKSRC} ${WRKSRC}_STATIC
.endif
@${PRINTF} "\nCFLAGS+=\t${PICFLAG}\n" >> ${WRKSRC}/make.inc
do-build: build-shared build-static
build-shared: patch
.ifdef(WITH_SHARED)
@cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas_pic.a" ${MAKE} \
${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" lib ; \
${CC} ${CFLAGS} ${PICFLAG} ${LDFLAGS} -shared -Wl,-x \
-Wl,-soname,libxblas.so.${SHLIB_MAJOR} -o libxblas.so.${SHLIB_MAJOR} \
-Wl,--whole-archive libxblas_pic.a -Wl,--no-whole-archive -Wl,--as-needed -lm
.endif
build-static: patch
.ifdef(WITH_STATIC)
@cd ${WRKSRC}_STATIC; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas.a" ${MAKE} \
${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" lib
.endif
do-install:
@${INSTALL_DATA} -d ${PREFIX}/${HDIR}
@cd ${WRKSRC}/src; ${INSTALL_DATA} ${HEADERS} ${PREFIX}/${HDIR}
.ifdef(WITH_SHARED)
@cd ${WRKSRC}; ${INSTALL_DATA} libxblas_pic.a \
libxblas.so.${SHLIB_MAJOR} ${PREFIX}/lib
@${LN} -sf libxblas.so.${SHLIB_MAJOR} ${PREFIX}/lib/libxblas.so
.endif
.ifdef(WITH_STATIC)
@${INSTALL_DATA} ${WRKSRC}_STATIC/libxblas.a ${PREFIX}/lib
.endif
.ifndef(NOPORTDOCS)
@${INSTALL_DATA} -d ${DOCSDIR}
@${INSTALL_DATA} ${WRKSRC}/doc/report.ps ${DOCSDIR}
.endif
check regression-test test: test-shared test-static
test-shared: build
.ifdef(WITH_SHARED)
@cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas_pic.a" ${MAKE} \
${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" tests
.endif
test-static: build
.ifdef(WITH_STATIC)
@cd ${WRKSRC}_STATIC; ${SETENV} ${MAKE_ENV} XBLASLIB="libxblas.a" ${MAKE} \
${_MAKE_JOBS} ${MAKE_ARGS} ARCH="${AR}" tests
.endif
.include <bsd.port.mk>

2
math/xblas/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (xblas.tar.gz) = b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1
SIZE (xblas.tar.gz) = 2087424

20
math/xblas/pkg-descr Normal file
View File

@ -0,0 +1,20 @@
This library of routines is part of a reference implementation for the Dense
and Banded BLAS routines, along with their Extended and Mixed Precision
versions, as documented in Chapters 2 and 4 of the new BLAS Standard.
EXTENDED PRECISION is only used internally; the input and output arguments
remain the same as in the existing BLAS. At present, we only allow Single,
Double, or Extra internal precision. Extra precision is implemented as
double-double precision (128-bit total, 106-bit significand). The routines
for the double-double precision basic arithmetic operations +, -, *, / were
developed by David Bailey.
We have designed all our routines assuming that single precision arithmetic
is actually done in IEEE single precision (32 bits) and that double precision
arithmetic is actually done in IEEE double precision (64 bits). The routines
also pass our tests on an Intel machine with 80-bit floating point registers.
MIXED PRECISION permits some input/output arguments to be of different types
(mixing real and complex) or precisions (mixing single and double).
WWW: http://www.netlib.org/xblas/