diff options
Diffstat (limited to 'math/suitesparse/Makefile')
-rw-r--r-- | math/suitesparse/Makefile | 88 |
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 |