mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-19 19:59:43 +00:00
adjust use of math/atlas; fix linking problems that broke
the sparc64 build; clean up Feature safe: yes
This commit is contained in:
parent
004a7c5ac2
commit
795fb0ec75
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=286243
@ -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
|
||||
.endif
|
||||
.if defined(WITH_ATLAS)
|
||||
LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
|
||||
BLAS= -lf77blas -lcblas -latlas
|
||||
LAPACK= -lalapack
|
||||
.if exists(${LOCALBASE}/lib/libatlas.so)
|
||||
WITH_BLAS?= atlas
|
||||
.else
|
||||
WITH_BLAS?= reference
|
||||
.endif
|
||||
|
||||
.if ${WITH_BLAS} == atlas
|
||||
LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
|
||||
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}
|
||||
|
Loading…
Reference in New Issue
Block a user