aboutsummaryrefslogtreecommitdiff
path: root/math/spooles
diff options
context:
space:
mode:
Diffstat (limited to 'math/spooles')
-rw-r--r--math/spooles/Makefile128
-rw-r--r--math/spooles/files/patch-Make.inc26
-rw-r--r--math/spooles/pkg-plist4
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