diff options
Diffstat (limited to 'math/spooles')
-rw-r--r-- | math/spooles/Makefile | 128 | ||||
-rw-r--r-- | math/spooles/files/patch-Make.inc | 26 | ||||
-rw-r--r-- | math/spooles/pkg-plist | 4 |
3 files changed, 76 insertions, 82 deletions
diff --git a/math/spooles/Makefile b/math/spooles/Makefile index 8024f6331b3b..7ecd0f36dc95 100644 --- a/math/spooles/Makefile +++ b/math/spooles/Makefile @@ -11,7 +11,7 @@ CATEGORIES= math MASTER_SITES= http://www.netlib.org/linalg/spooles/ DISTNAME= ${PORTNAME}.${PORTVERSION} EXTRACT_SUFX= .tgz -.if !defined(NOPORTDOCS) +.ifndef NOPORTDOCS DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} AllInOne.ps.gz Eigen.ps.gz \ Install.ps.gz LinSol.ps.gz Ordering.ps.gz \ PP99.ps.gz ReferenceManual.ps.gz @@ -19,110 +19,83 @@ DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} AllInOne.ps.gz Eigen.ps.gz \ DIST_SUBDIR= spooles EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= maho@FreeBSD.org COMMENT= SParse Object Oriented Linear Equations Solver +.if defined(USE_MPI) +BUILD_DEPENDS= ${LOCALBASE}/mpich/lib/libmpich.a:${PORTSDIR}/net/mpich +.endif + USE_GMAKE= yes #BSD make gives problems here USE_REINPLACE= yes NO_WRKSUBDIR= yes MAKEFILE= makefile ALL_TARGET= global -.if !defined(USE_MPI) -PLIST_SUB+= MPI="@comment " +.if defined(USE_THREADS) +PLIST_SUB+= MT="" +CFLAGS+= ${PTHREAD_CFLAGS} .else +PLIST_SUB+= MT="@comment " +.endif +.if defined(USE_MPI) PLIST_SUB+= MPI="" +.else +PLIST_SUB+= MPI="@comment " .endif -post-patch: +.SILENT: + +pre-everything:: +.if !defined(USE_THREADS) + ${ECHO_MSG} "make USE_THREADS=yes for threaded version" +.endif +.if !defined(USE_MPI) + ${ECHO_MSG} "make USE_MPI=yes for mpich version" +.endif +.if defined (USE_THREADS) && (USE_MPI) +BROKEN= mpich is *NOT* threadsafe at the moment +.endif + +post-patch: +.if defined(USE_THREADS) + @${REINPLACE_CMD} -e 's+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+g;' ${WRKSRC}/Make.inc +.else + @${REINPLACE_CMD} -e 's+%%PTHREAD_LIBS%%++g;' ${WRKSRC}/Make.inc + @${REINPLACE_CMD} -e 's+THREAD_TYPE TT_POSIX+THREAD_TYPE TT_NONE+;' ${WRKSRC}/Lock/Lock.h +.endif .if defined(USE_MPI) @${REINPLACE_CMD} -e 's+%%LOCALBASE%%+${LOCALBASE}+g;' ${WRKSRC}/Make.inc .endif post-build: +.if defined(USE_THREADS) + @(cd ${WRKSRC}/MT/src; $(GMAKE) -f makeGlobalLib) +.endif .if defined(USE_MPI) - @(cd ${WRKSRC}/MPI/src; $(MAKE) -f makeGlobalLib) -.else - @(cd ${WRKSRC}/MT/src; $(MAKE) -f makeGlobalLib) + @(cd ${WRKSRC}/MPI/src; $(GMAKE) -f makeGlobalLib) .endif do-install: - ${INSTALL} ${WRKSRC}/spooles.a ${PREFIX}/lib/libspooles.a ${MKDIR} ${PREFIX}/include/spooles + ${INSTALL} ${WRKSRC}/spooles.a ${PREFIX}/lib/libspooles.a +.if defined(USE_THREADS) + ${MKDIR} ${PREFIX}/include/spooles/MT + ${INSTALL_DATA} ${WRKSRC}/MT/*.h ${PREFIX}/include/spooles/MT +.endif .if defined(USE_MPI) ${MKDIR} ${PREFIX}/include/spooles/MPI ${INSTALL_DATA} ${WRKSRC}/MPI/*.h ${PREFIX}/include/spooles/MPI .endif ${INSTALL_DATA} ${WRKSRC}/*.h ${PREFIX}/include/spooles/ - ${MKDIR} ${PREFIX}/include/spooles/A2 - ${INSTALL_DATA} ${WRKSRC}/A2/*.h ${PREFIX}/include/spooles/A2 - ${MKDIR} ${PREFIX}/include/spooles/BPG - ${INSTALL_DATA} ${WRKSRC}/BPG/*.h ${PREFIX}/include/spooles/BPG - ${MKDIR} ${PREFIX}/include/spooles/Chv - ${INSTALL_DATA} ${WRKSRC}/Chv/*.h ${PREFIX}/include/spooles/Chv - ${MKDIR} ${PREFIX}/include/spooles/ChvList - ${INSTALL_DATA} ${WRKSRC}/ChvList/*.h ${PREFIX}/include/spooles/ChvList - ${MKDIR} ${PREFIX}/include/spooles/ChvManager - ${INSTALL_DATA} ${WRKSRC}/ChvManager/*.h ${PREFIX}/include/spooles/ChvManager - ${MKDIR} ${PREFIX}/include/spooles/Coords - ${INSTALL_DATA} ${WRKSRC}/Coords/*.h ${PREFIX}/include/spooles/Coords - ${MKDIR} ${PREFIX}/include/spooles/DenseMtx - ${INSTALL_DATA} ${WRKSRC}/DenseMtx/*.h ${PREFIX}/include/spooles/DenseMtx - ${MKDIR} ${PREFIX}/include/spooles/DSTree - ${INSTALL_DATA} ${WRKSRC}/DSTree/*.h ${PREFIX}/include/spooles/DSTree - ${MKDIR} ${PREFIX}/include/spooles/Drand - ${INSTALL_DATA} ${WRKSRC}/Drand/*.h ${PREFIX}/include/spooles/Drand - ${MKDIR} ${PREFIX}/include/spooles/DV - ${INSTALL_DATA} ${WRKSRC}/DV/*.h ${PREFIX}/include/spooles/DV - ${MKDIR} ${PREFIX}/include/spooles/ETree - ${INSTALL_DATA} ${WRKSRC}/ETree/*.h ${PREFIX}/include/spooles/ETree - ${MKDIR} ${PREFIX}/include/spooles/FrontMtx - ${INSTALL_DATA} ${WRKSRC}/FrontMtx/*.h ${PREFIX}/include/spooles/FrontMtx - ${MKDIR} ${PREFIX}/include/spooles/GPart - ${INSTALL_DATA} ${WRKSRC}/GPart/*.h ${PREFIX}/include/spooles/GPart - ${MKDIR} ${PREFIX}/include/spooles/Graph - ${INSTALL_DATA} ${WRKSRC}/Graph/*.h ${PREFIX}/include/spooles/Graph - ${MKDIR} ${PREFIX}/include/spooles/I2Ohash - ${INSTALL_DATA} ${WRKSRC}/I2Ohash/*.h ${PREFIX}/include/spooles/I2Ohash - ${MKDIR} ${PREFIX}/include/spooles/IIheap - ${INSTALL_DATA} ${WRKSRC}/IIheap/*.h ${PREFIX}/include/spooles/IIheap - ${MKDIR} ${PREFIX}/include/spooles/IV - ${INSTALL_DATA} ${WRKSRC}/IV/*.h ${PREFIX}/include/spooles/IV - ${MKDIR} ${PREFIX}/include/spooles/IVL - ${INSTALL_DATA} ${WRKSRC}/IVL/*.h ${PREFIX}/include/spooles/IVL - ${MKDIR} ${PREFIX}/include/spooles/Ideq - ${INSTALL_DATA} ${WRKSRC}/Ideq/*.h ${PREFIX}/include/spooles/Ideq - ${MKDIR} ${PREFIX}/include/spooles/InpMtx - ${INSTALL_DATA} ${WRKSRC}/InpMtx/*.h ${PREFIX}/include/spooles/InpMtx - ${MKDIR} ${PREFIX}/include/spooles/Lock - ${INSTALL_DATA} ${WRKSRC}/Lock/*.h ${PREFIX}/include/spooles/Lock - ${MKDIR} ${PREFIX}/include/spooles/MSMD - ${INSTALL_DATA} ${WRKSRC}/MSMD/*.h ${PREFIX}/include/spooles/MSMD - ${MKDIR} ${PREFIX}/include/spooles/MT - ${INSTALL_DATA} ${WRKSRC}/MT/*.h ${PREFIX}/include/spooles/MT - ${MKDIR} ${PREFIX}/include/spooles/PatchAndGoInfo - ${INSTALL_DATA} ${WRKSRC}/PatchAndGoInfo/*.h ${PREFIX}/include/spooles/PatchAndGoInfo - ${MKDIR} ${PREFIX}/include/spooles/Pencil - ${INSTALL_DATA} ${WRKSRC}/Pencil/*.h ${PREFIX}/include/spooles/Pencil - ${MKDIR} ${PREFIX}/include/spooles/SolveMap - ${INSTALL_DATA} ${WRKSRC}/SolveMap/*.h ${PREFIX}/include/spooles/SolveMap - ${MKDIR} ${PREFIX}/include/spooles/SubMtx - ${INSTALL_DATA} ${WRKSRC}/SubMtx/*.h ${PREFIX}/include/spooles/SubMtx - ${MKDIR} ${PREFIX}/include/spooles/SubMtxList - ${INSTALL_DATA} ${WRKSRC}/SubMtxList/*.h ${PREFIX}/include/spooles/SubMtxList - ${MKDIR} ${PREFIX}/include/spooles/SubMtxManager - ${INSTALL_DATA} ${WRKSRC}/SubMtxManager/*.h ${PREFIX}/include/spooles/SubMtxManager - ${MKDIR} ${PREFIX}/include/spooles/SymbFac - ${INSTALL_DATA} ${WRKSRC}/SymbFac/*.h ${PREFIX}/include/spooles/SymbFac - ${MKDIR} ${PREFIX}/include/spooles/Tree - ${INSTALL_DATA} ${WRKSRC}/Tree/*.h ${PREFIX}/include/spooles/Tree - ${MKDIR} ${PREFIX}/include/spooles/Utilities - ${INSTALL_DATA} ${WRKSRC}/Utilities/*.h ${PREFIX}/include/spooles/Utilities - ${MKDIR} ${PREFIX}/include/spooles/ZV/ - ${INSTALL_DATA} ${WRKSRC}/ZV/*.h ${PREFIX}/include/spooles/ZV - ${MKDIR} ${PREFIX}/include/spooles/misc - ${INSTALL_DATA} ${WRKSRC}/misc/*.h ${PREFIX}/include/spooles/misc +.for i in A2 BPG Chv ChvList ChvManager Coords DenseMtx DSTree Drand \ + DV ETree FrontMtx GPart Graph I2Ohash IIheap IV IVL Ideq InpMtx \ + Lock MSMD PatchAndGoInfo Pencil SolveMap SubMtx SubMtxList SubMtxManager \ + SymbFac Tree Utilities ZV misc + ${MKDIR} ${PREFIX}/include/spooles/${i} + ${INSTALL_DATA} ${WRKSRC}/${i}/*.h ${PREFIX}/include/spooles/${i} +.endfor .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/AllInOne.ps.gz ${DOCSDIR} @@ -133,4 +106,5 @@ do-install: ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/PP99.ps.gz ${DOCSDIR} ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/ReferenceManual.ps.gz ${DOCSDIR} .endif + .include <bsd.port.mk> diff --git a/math/spooles/files/patch-Make.inc b/math/spooles/files/patch-Make.inc index 931ce210efd4..1219dfef6bba 100644 --- a/math/spooles/files/patch-Make.inc +++ b/math/spooles/files/patch-Make.inc @@ -1,5 +1,5 @@ ---- Make.inc.orig Tue Jan 19 06:48:55 1999 -+++ Make.inc Mon May 5 09:59:52 2003 +--- Make.inc.orig Mon Jan 18 16:48:55 1999 ++++ Make.inc Sun May 11 14:32:36 2003 @@ -12,7 +12,7 @@ # for solaris # @@ -26,7 +26,18 @@ # CFLAGS = -Wall $(OPTLEVEL) # #---------------------------------------- -@@ -79,8 +79,8 @@ +@@ -50,8 +50,8 @@ + # set any thread libraries + # + # THREAD_LIBS = +-# THREAD_LIBS = -D_REENTRANT=199506L -lpthread +- THREAD_LIBS = -D_POSIX_C_SOURCE=199506L -lpthread ++THREAD_LIBS = -D_REENTRANT=199506L %%PTHREAD_LIBS%% ++# THREAD_LIBS = -D_POSIX_C_SOURCE=199506L -lpthread + # THREAD_LIBS = -lpthread + # + #--------------------------------------------------------------------- +@@ -79,15 +79,15 @@ # set the ranlib environment # (if ranlib is not needed, we echo the library name) # @@ -37,6 +48,15 @@ # #--------------------------------------------------------------------- # + # set suffix rule *.c --> *.o + # +-.c.o : +- $(PURIFY) $(CC) -c $(CFLAGS) $< ++#.c.o : ++# $(PURIFY) $(CC) -c $(CFLAGS) $< + # + #--------------------------------------------------------------------- + # @@ -103,7 +103,7 @@ # MPI install library # diff --git a/math/spooles/pkg-plist b/math/spooles/pkg-plist index 8c4cdc0e1988..687c6514c660 100644 --- a/math/spooles/pkg-plist +++ b/math/spooles/pkg-plist @@ -48,7 +48,6 @@ include/spooles/MPI.h include/spooles/MSMD.h include/spooles/MSMD/MSMD.h include/spooles/MT.h -include/spooles/MT/spoolesMT.h include/spooles/Network.h include/spooles/PatchAndGoInfo/PatchAndGoInfo.h include/spooles/PatchAndGoInfo.h @@ -102,6 +101,8 @@ include/spooles/timings.h lib/libspooles.a %%MPI%%include/spooles/MPI/spoolesMPI.h %%MPI%%@dirrm include/spooles/MPI +%%MT%%include/spooles/MT/spoolesMT.h +%%MT%%@dirrm include/spooles/MT @dirrm include/spooles/A2 @dirrm include/spooles/BPG @dirrm include/spooles/Chv @@ -124,7 +125,6 @@ lib/libspooles.a @dirrm include/spooles/InpMtx @dirrm include/spooles/Lock @dirrm include/spooles/MSMD -@dirrm include/spooles/MT @dirrm include/spooles/PatchAndGoInfo @dirrm include/spooles/Pencil @dirrm include/spooles/SolveMap |