diff options
author | bf <bf@FreeBSD.org> | 2011-11-22 19:25:11 +0800 |
---|---|---|
committer | bf <bf@FreeBSD.org> | 2011-11-22 19:25:11 +0800 |
commit | b8e2248389fdfe69cc6ce0921b86795342dc2d1c (patch) | |
tree | d5ebfb640d7702c5c283fe3fa49a10f081eb5549 /math/taucs | |
parent | e76c3137d0dc704cf66c758a906a5be85b715a3b (diff) | |
download | freebsd-ports-gnome-b8e2248389fdfe69cc6ce0921b86795342dc2d1c.tar.gz freebsd-ports-gnome-b8e2248389fdfe69cc6ce0921b86795342dc2d1c.tar.zst freebsd-ports-gnome-b8e2248389fdfe69cc6ce0921b86795342dc2d1c.zip |
adjust use of math/atlas; fix linking problems that broke
the sparc64 build; clean up
Feature safe: yes
Diffstat (limited to 'math/taucs')
-rw-r--r-- | math/taucs/Makefile | 68 |
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} |