aboutsummaryrefslogtreecommitdiff
path: root/math/suitesparse/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'math/suitesparse/Makefile')
-rw-r--r--math/suitesparse/Makefile88
1 files changed, 52 insertions, 36 deletions
diff --git a/math/suitesparse/Makefile b/math/suitesparse/Makefile
index fd94ebe14992..7874909bb1c9 100644
--- a/math/suitesparse/Makefile
+++ b/math/suitesparse/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= suitesparse
-PORTVERSION= 2.4.0
+PORTVERSION= 3.1.0
CATEGORIES= math
MASTER_SITES= http://www.cise.ufl.edu/research/sparse/SuiteSparse/
DISTNAME= SuiteSparse-${PORTVERSION}
@@ -15,24 +15,40 @@ DIST_SUBDIR= ${PORTNAME}/${PORTVERSION}
MAINTAINER= maho@FreeBSD.org
COMMENT= SuiteSparse is a set of packages for sparse matrices calculation
-LIB_DEPENDS= metis:${PORTSDIR}/math/metis
+.if defined (WITH_METIS)
+LIB_DEPENDS= metis:${PORTSDIR}/math/metis
+.endif
+
+.if defined (WITH_METIS)
+RESTRICTED= GPL and METIS license contradicts
+.endif
CONFLICTS= umfpack-*
.include <bsd.port.pre.mk>
-.if exists(${LOCALBASE}/lib/libatlas_r.so) && !defined(WITH_BLAS)
-WITH_ATLAS= yes
+USE_BLAS?= reference
+
+.if exists(${LOCALBASE}/lib/libgoto.so)
+USE_BLAS= gotoblas
+.elif exists(${LOCALBASE}/lib/libatlas_r.so)
+USE_BLAS= atlas
.endif
-.if defined(WITH_ATLAS)
-LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
-BLAS= -L${LOCALBASE}/lib -lf77blas -latlas -lcblas
-LAPACK= -L${LOCALBASE}/lib -lalapack
-.else
+
+.if ${USE_BLAS} == reference
LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas
LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
-BLAS= -L${LOCALBASE}/lib -lblas
-LAPACK= -L${LOCALBASE}/lib -llapack
+BLAS= -lblas
+LAPACK= -llapack
+.elif ${USE_BLAS} == gotoblas
+LIB_DEPENDS+= goto:${PORTSDIR}/math/gotoblas
+LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
+BLAS= -pthread -lgotop
+LAPACK= -pthread -lgotop -llapack
+.elif ${USE_BLAS} == atlas
+LIB_DEPENDS+= atlas:${PORTSDIR}/math/atlas
+BLAS= -pthread -lptf77blas -lptcblas -latlas_r
+LAPACK= -pthread -lalapack_r
.endif
.if ${ARCH} == "sparc64" || ${ARCH} == "amd64"
@@ -50,35 +66,35 @@ CFLAGS_SHARED=${CFLAGS} ${FPIC}
FFLAGS_SHARED=${CFLAGS} ${FPIC}
SVERSION=1
+.if defined (WITH_METIS)
+METIS=${LOCALBASE}/lib/libmetis.a
+METIS_PATH=${LOCALBASE}/include/metis
+CHOLMOD_CONFIG =
+.else
+CHOLMOD_CONFIG = -DNPARTITION
+.endif
+
post-patch:
${CP} -r ${WRKSRC} ${WRKSRC_SHARED}
@${REINPLACE_CMD} -e 's,%%CC%%,${CC},g' \
- -e 's,%%CFLAGS%%,${CFLAGS},g' \
-e 's,%%F77%%,${F77},g' \
-e 's,%%FC%%,${FC},g' \
- -e 's,%%FFLAGS%%,${FFLAGS},g' \
- -e 's,%%BLAS%%,${BLAS},g' \
- -e 's,%%LAPACK%%,${LAPACK},g' \
+ -e 's,%%BLAS%%,-L${LOCALBASE}/lib ${BLAS},g' \
+ -e 's,%%LAPACK%%,-L${LOCALBASE}/lib ${LAPACK},g' \
-e 's,%%LOCALBASE%%,${LOCALBASE},g' \
- ${WRKSRC}/UFconfig/UFconfig.mk
- @${REINPLACE_CMD} -e 's,%%CC%%,${CC},g' \
- -e 's,%%CFLAGS%%,${CFLAGS},g' \
- ${WRKSRC}/CSparse/Source/Makefile \
- ${WRKSRC}/CXSparse/Source/Makefile
+ -e 's,%%METIS_PATH%%,${METIS_PATH},g' \
+ -e 's,%%METIS%%,${METIS},g' \
+ -e 's,%%CHOLMOD_CONFIG%%,${CHOLMOD_CONFIG},g' \
+ ${WRKSRC}/UFconfig/UFconfig.mk \
+ ${WRKSRC_SHARED}/UFconfig/UFconfig.mk
- @${REINPLACE_CMD} -e 's,%%CC%%,${CC},g' \
- -e 's,%%CFLAGS%%,${CFLAGS_SHARED},g' \
- -e 's,%%F77%%,${F77},g' \
- -e 's,%%FC%%,${FC},g' \
- -e 's,%%FFLAGS%%,${FFLAGS_SHARED},g' \
- -e 's,%%BLAS%%,${BLAS},g' \
- -e 's,%%LAPACK%%,${LAPACK},g' \
- -e 's,%%LOCALBASE%%,${LOCALBASE},g' \
+ @${REINPLACE_CMD} -e 's,%%CFLAGS%%,${CFLAGS},g' \
+ -e 's,%%FFLAGS%%,${FFLAGS},g' \
+ ${WRKSRC}/UFconfig/UFconfig.mk \
+
+ @${REINPLACE_CMD} -e 's,%%CFLAGS%%,${CFLAGS_SHARED},g' \
+ -e 's,%%FFLAGS%%,${FFLAGS_SHARED},g' \
${WRKSRC_SHARED}/UFconfig/UFconfig.mk
- @${REINPLACE_CMD} -e 's,%%CC%%,${CC},g' \
- -e 's,%%CFLAGS%%,${CFLAGS_SHARED},g' \
- ${WRKSRC_SHARED}/CSparse/Source/Makefile \
- ${WRKSRC_SHARED}/CXSparse/Source/Makefile
do-build:
cd ${WRKSRC} ; ${GMAKE}
@@ -103,13 +119,13 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/UMFPACK/Include/*.h ${PREFIX}/include/suitesparse
${INSTALL_DATA} ${WRKSRC}/AMD/Include/*.h ${PREFIX}/include/suitesparse
${INSTALL_DATA} ${WRKSRC}/BTF/Include/*.h ${PREFIX}/include/suitesparse
- ${INSTALL_DATA} ${WRKSRC}/CCOLAMD/*.h ${PREFIX}/include/suitesparse
+ ${INSTALL_DATA} ${WRKSRC}/CCOLAMD/Include/*.h ${PREFIX}/include/suitesparse
${INSTALL_DATA} ${WRKSRC}/CHOLMOD/Include/*.h ${PREFIX}/include/suitesparse
- ${INSTALL_DATA} ${WRKSRC}/COLAMD/*.h ${PREFIX}/include/suitesparse
- ${INSTALL_DATA} ${WRKSRC}/CXSparse/Source/*.h ${PREFIX}/include/suitesparse
+ ${INSTALL_DATA} ${WRKSRC}/COLAMD/Include/*.h ${PREFIX}/include/suitesparse
+ ${INSTALL_DATA} ${WRKSRC}/CXSparse/Include/*.h ${PREFIX}/include/suitesparse
${INSTALL_DATA} ${WRKSRC}/KLU/Include/*.h ${PREFIX}/include/suitesparse
${INSTALL_DATA} ${WRKSRC}/CAMD/Include/*.h ${PREFIX}/include/suitesparse
- ${INSTALL_DATA} ${WRKDIR}/tmp_static/*.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKDIR}/tmp_static/*.a ${PREFIX}/lib
${INSTALL_DATA} ${WRKDIR}/tmp_shared/*.so.${SVERSION} ${PREFIX}/lib
${INSTALL_DATA} ${WRKDIR}/tmp_shared/*.so ${PREFIX}/lib