aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/taucs/Makefile68
1 files changed, 42 insertions, 26 deletions
diff --git a/math/taucs/Makefile b/math/taucs/Makefile
index dcf5170f9b76..cba0ab59a340 100644
--- a/math/taucs/Makefile
+++ b/math/taucs/Makefile
@@ -7,7 +7,7 @@
PORTNAME= taucs
PORTVERSION= 2.2
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= math
MASTER_SITES= http://www.tau.ac.il/~stoledo/taucs/${PORTVERSION}/
DISTNAME= ${PORTNAME}
@@ -16,57 +16,74 @@ EXTRACT_SUFX= .tgz
MAINTAINER= bf@FreeBSD.org
COMMENT= C library of sparse linear solvers
+LIB_DEPENDS= metis.1:${PORTSDIR}/math/metis
+
+HAS_CONFIGURE= yes
USE_FORTRAN= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}
+
.include <bsd.port.pre.mk>
-LIB_DEPENDS+= metis.1:${PORTSDIR}/math/metis
-.if exists(${LOCALBASE}/lib/libatlas_r.so) && !defined(WITH_BLAS)
-WITH_ATLAS= yes
+.if exists(${LOCALBASE}/lib/libatlas.so)
+WITH_BLAS?= atlas
+.else
+WITH_BLAS?= reference
.endif
-.if defined(WITH_ATLAS)
+
+.if ${WITH_BLAS} == atlas
LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
-BLAS= -lf77blas -lcblas -latlas
-LAPACK= -lalapack
-.else
+BLAS= -lf77blas
+LAPACK= -lalapack -lcblas
+.elif ${WITH_BLAS} == reference
LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas
BLAS= -lblas
LAPACK= -llapack
.endif
-HAS_CONFIGURE= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}
-MAKEFILE= makefile
-ALL_TARGET=
-
.if ${ARCH} == "sparc64"
PICFLAG?= -fPIC
-BROKEN= Does not link on sparc64
.else
PICFLAG?= -fpic
.endif
do-extract:
- ${MKDIR} ${WRKSRC} ; cd ${WRKSRC} ; ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ${EXTRACT_AFTER_ARGS}
+ @${MKDIR} ${WRKSRC}; cd ${WRKSRC}; ${EXTRACT_CMD} \
+ ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${DISTNAME}${EXTRACT_SUFX} \
+ ${EXTRACT_AFTER_ARGS}
post-patch:
- @${MKDIR} ${WRKSRC}_SHARED ; ${CP} -r ${WRKSRC}/* ${WRKSRC}_SHARED
+ @${CP} -r ${WRKSRC} ${WRKSRC}_SHARED
do-configure:
- cd ${WRKSRC}; ./configure
- cd ${WRKSRC}_SHARED; ./configure
+ @cd ${WRKSRC}; ./configure
+ @cd ${WRKSRC}_SHARED; ./configure
post-configure:
- @(cd ${WRKSRC}; ${PATCH} <${FILESDIR}/extra-patch-build-FreeBSD-makefile)
- @(cd ${WRKSRC}_SHARED; ${PATCH} <${FILESDIR}/extra-patch-build-FreeBSD-makefile)
- @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' -e 's+%%FC%%+${FC}+g;' -e 's+%%BLAS%%+${BLAS}+g;' -e 's+%%LAPACK%%+${LAPACK}+g;' -e 's+%%CC%%+${CC}+g;' -e 's+%%CFLAGS%%+${CFLAGS}+g;' -e 's+%%FFLAGS%%+${FFLAGS}+g;' ${WRKSRC}/config/FreeBSD.mk
- @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' -e 's+%%FC%%+${FC}+g;' -e 's+%%BLAS%%+${BLAS}+g;' -e 's+%%LAPACK%%+${LAPACK}+g;' -e 's+%%CC%%+${CC}+g;' -e 's+%%CFLAGS%%+${CFLAGS} ${PICFLAG}+g;' -e 's+%%FFLAGS%%+${FFLAGS} ${PICFLAG}+g;' ${WRKSRC}_SHARED/config/FreeBSD.mk
+ @cd ${WRKSRC}; ${PATCH} <${FILESDIR}/extra-patch-build-FreeBSD-makefile
+ @cd ${WRKSRC}_SHARED; ${PATCH} <${FILESDIR}/extra-patch-build-FreeBSD-makefile
+ @${REINPLACE_CMD} \
+ -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' -e 's+%%FC%%+${FC}+g;' \
+ -e 's+%%BLAS%%+${BLAS}+g;' -e 's+%%LAPACK%%+${LAPACK}+g;' \
+ -e 's+%%CC%%+${CC}+g;' -e 's+%%CFLAGS%%+${CFLAGS}+g;' \
+ -e 's+%%FFLAGS%%+${FFLAGS}+g;' \
+ ${WRKSRC}/config/FreeBSD.mk
+ @${REINPLACE_CMD} \
+ -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' -e 's+%%FC%%+${FC}+g;' \
+ -e 's+%%BLAS%%+${BLAS}+g;' -e 's+%%LAPACK%%+${LAPACK}+g;' \
+ -e 's+%%CC%%+${CC}+g;' -e 's+%%CFLAGS%%+${CFLAGS} ${PICFLAG}+g;' \
+ -e 's+%%FFLAGS%%+${FFLAGS} ${PICFLAG}+g;' \
+ ${WRKSRC}_SHARED/config/FreeBSD.mk
do-build:
- cd ${WRKSRC} ; ${MAKE}
- cd ${WRKSRC}_SHARED ; ${SETENV} CFLAGS="${CFLAGS} ${PICFLAG}" ${MAKE}
- cd ${WRKSRC}_SHARED/lib/FreeBSD ; ld -Bshareable -o libtaucs.so.1 -x -soname libtaucs.so.1 --whole-archive libtaucs.a
+ @cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS}
+ @cd ${WRKSRC}_SHARED; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \
+ ${MAKE_ARGS}
+ cd ${WRKSRC}_SHARED/lib/FreeBSD ; ${FC} ${FFLAGS} ${PICFLAG} ${LDFLAGS} \
+ -shared -o libtaucs.so.1 -Wl,-x -Wl,-soname,libtaucs.so.1 -Wl,--whole-archive \
+ libtaucs.a -Wl,--no-whole-archive
+
do-install:
@${INSTALL_DATA} ${WRKSRC}/lib/FreeBSD/libtaucs.a ${PREFIX}/lib
@${INSTALL_DATA} ${WRKSRC}_SHARED/lib/FreeBSD/libtaucs.so.1 ${PREFIX}/lib
@@ -75,7 +92,6 @@ do-install:
@${INSTALL_DATA} ${WRKSRC}/src/*.h ${PREFIX}/include
@${INSTALL_PROGRAM} ${WRKSRC}/bin/FreeBSD/direct ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/bin/FreeBSD/iter ${PREFIX}/bin
-
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@${INSTALL_DATA} ${WRKSRC}/doc/*.pdf ${DOCSDIR}