diff options
-rw-r--r-- | cad/tochnog/Makefile | 28 | ||||
-rw-r--r-- | cad/tochnog/files/patch-makefile | 20 | ||||
-rw-r--r-- | cad/tochnog/files/patch-so_suplu.c | 43 | ||||
-rw-r--r-- | cad/tochnog/files/patch-src+so_suplu.c | 24 | ||||
-rw-r--r-- | cad/tochnog/files/patch-tnsuplu.h | 8 | ||||
-rw-r--r-- | cad/tochnog/files/patch-tochnog.h | 35 |
6 files changed, 87 insertions, 71 deletions
diff --git a/cad/tochnog/Makefile b/cad/tochnog/Makefile index d6ef866319e5..1b97b6a79bfd 100644 --- a/cad/tochnog/Makefile +++ b/cad/tochnog/Makefile @@ -7,7 +7,7 @@ PORTNAME= tochnog PORTVERSION= 20010211 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= cad MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= tochnog @@ -24,21 +24,17 @@ BUILD_DEPENDS+= ${LOCALBASE}/lib/libsuperlu.a:${PORTSDIR}/math/superlu .endif LIB_DEPENDS= atlas:${PORTSDIR}/math/atlas -# This port installs some plugins into a directory which is owned by the -# the cad/linux-gid port, but it doesn't adds a dependency to linux-gid, -# since tochnog can be used standalone. -# The right thing to do would be to add a slave port which installs the -# plugins only. The slave port would have to depend upon linux-gid and -# tochnog. - USE_REINPLACE= yes WRKSRC= ${WRKDIR}/${PORTNAME}/src MAKEFILE= makefile -GIDDIR?= share/gid -PLIST_SUB+= GIDDIR=${GIDDIR} +# You can set GIDDIR to share/gid to install the scripts to be used +# with the cad/linux-gid port, otherwise they can be linked to the data +# directory to avoid polluting the port space. -GID_PREFIX?= ${LOCALBASE}/${GIDDIR}/problemtypes +GIDDIR?= share/${PORTNAME} +PLIST_SUB+= GIDDIR=${GIDDIR} +GID_PTYPES= ${PREFIX}/${GIDDIR}/problemtypes .ifdef WITH_THREADS BLAS_LIBS?= -L${LOCALBASE}/lib -lptf77blas -latlas_r @@ -55,7 +51,7 @@ pre-everything:: @${ECHO_MSG} "make WITH_THREADS=yes for threaded version" .endif -post-patch: +pre-build: @${REINPLACE_CMD} -e 's,%%LOCALBASE%%,${LOCALBASE},g ; \ s,%%PTHREAD_CFLAGS%%,${PTHREAD_CFLAGS},g ; s,%%PTHREAD_LIBS%%,${PTHREAD_LIBS},g ; \ s,%%SUPERLU%%,${SUPERLU},g ; \ @@ -76,13 +72,13 @@ do-install: ${INSTALL_PROGRAM} ${WRKSRC}/tochnog ${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKDIR}/tochnog/tools/aba2tn ${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKDIR}/tochnog/tools/*.awk ${PREFIX}/bin - ${MKDIR} ${GID_PREFIX}/tochnog.gid + ${MKDIR} ${GID_PTYPES}/tochnog.gid ${INSTALL_DATA} ${WRKDIR}/tochnog/gid/tochnog.gid/tochnog.cnd \ - ${GID_PREFIX}/tochnog.gid + ${GID_PTYPES}/tochnog.gid ${INSTALL_DATA} ${WRKDIR}/tochnog/gid/tochnog.gid/tochnog.mat \ - ${GID_PREFIX}/tochnog.gid + ${GID_PTYPES}/tochnog.gid ${INSTALL_SCRIPT} ${WRKDIR}/tochnog/gid/tochnog.gid/tochnog.ba* \ - ${GID_PREFIX}/tochnog.gid + ${GID_PTYPES}/tochnog.gid .if !defined(NOPORTDOCS) ${MKDIR} ${EXAMPLESDIR} @${RM} -f ${WRKDIR}/tochnog/test/*.orig diff --git a/cad/tochnog/files/patch-makefile b/cad/tochnog/files/patch-makefile index c6d77afd049f..a46ddd361587 100644 --- a/cad/tochnog/files/patch-makefile +++ b/cad/tochnog/files/patch-makefile @@ -1,5 +1,5 @@ --- makefile.orig Sun Aug 19 12:31:52 2001 -+++ makefile Wed Jun 18 12:57:01 2003 ++++ makefile Fri Feb 3 16:41:08 2006 @@ -1,6 +1,7 @@ # *********** fortran 2 c ******************* # Set F2C (for unix -lf2c and for MS windows to f2c.lib) @@ -29,7 +29,7 @@ -COMPILER_FLAGS= -c -O2 -w- +COMPILER_C=$(CC) +COMPILER_CPP=$(CXX) -+COMPILER_FLAGS=$(CXXFLAGS) -c ++COMPILER_FLAGS=$(CFLAGS) -c OBJ=obj -LINK_FLAGS_BEFORE= -l$(F2C) +LINK_FLAGS_BEFORE= -l$(F2C) -L%%LOCALBASE%%/lib @@ -58,7 +58,7 @@ # single and multi-processor windows; borland c++ compiler # set SYS_FILE above to syswin32 for multi-processor -@@ -101,18 +102,23 @@ +@@ -101,17 +102,22 @@ "LINK_FLAGS_AFTER= /link $(F2C) $(PROFILE) /OUT:tochnog.exe" # single processor linux; gnu gcc compiler @@ -72,22 +72,22 @@ - "COMPILER_C=gcc" \ - "COMPILER_CPP=g++" \ - "COMPILER_FLAGS= -ansi -c -O2 -Wall $(PROFILE) $(ALL_INCLUDE)" \ -+ "COMPILER_FLAGS= -c ${CXXFLAGS} $(ALL_INCLUDE)" \ ++ "COMPILER_FLAGS= -c ${CFLAGS} $(ALL_INCLUDE)" \ "LINK_FLAGS_BEFORE=" \ - "LINK_FLAGS_AFTER= $(PROFILE) $(ALL_LIB) -static -lm -o tochnog" - +- "LINK_FLAGS_AFTER= $(PROFILE) $(ALL_LIB) -static -lm -o tochnog" ++ "LINK_FLAGS_AFTER= $(PROFILE) $(ALL_LIB) -lm -o tochnog" ++ +# Multithreaded FreeBSD +freebsd_parallel: + make tochnog \ + "SYS_FILE=sysposix" \ + "OBJ=o" \ -+ "COMPILER_FLAGS= -c ${CXXFLAGS} %%PTHREAD_CFLAGS%% -D_REENTRANT $(ALL_INCLUDE)" \ ++ "COMPILER_FLAGS= -c ${CFLAGS} %%PTHREAD_CFLAGS%% -D_REENTRANT $(ALL_INCLUDE)" \ + "LINK_FLAGS_BEFORE=" \ -+ "LINK_FLAGS_AFTER= $(ALL_LIB) %%PTHREAD_LIBS%% -static -lm -o tochnog" -+ ++ "LINK_FLAGS_AFTER= $(ALL_LIB) %%PTHREAD_LIBS%% -lm -o tochnog" + # multi processor linux; gnu gcc compiler linux: - make tochnog \ @@ -375,7 +381,7 @@ $(COMPILER_CPP) $(COMPILER_FLAGS) $(BCPP) $(VCPP)hyperela.$(SRC_CPP) diff --git a/cad/tochnog/files/patch-so_suplu.c b/cad/tochnog/files/patch-so_suplu.c new file mode 100644 index 000000000000..e865ccc3b0ff --- /dev/null +++ b/cad/tochnog/files/patch-so_suplu.c @@ -0,0 +1,43 @@ +--- so_suplu.c.orig Thu Nov 9 15:59:39 2000 ++++ so_suplu.c Sat Feb 4 20:21:59 2006 +@@ -22,14 +22,16 @@ + #if ( SUPERLU_USE || SUPERLU_MT_USE || SUPERLU_DIST_USE ) + + #if SUPERLU_USE +-#include "dsp_defs.h" ++#include "slu_ddefs.h" + #elif SUPERLU_MT_USE ++#include "util.h" + #include "pdsp_defs.h" + #elif SUPERLU_DIST_USE + #include <math.h> ++#include "superlu_util.h" + #include "superlu_ddefs.h" + #endif +-#include "util.h" ++ + + long int solve_superlu( double *superlu_A, int *superlu_asub, + int *superlu_xa, int superlu_nnz, double solve_b[], long int solve_nlocal, +@@ -53,6 +55,10 @@ + int *perm_r, *perm_c; + int perm_spec; + int nrhs; ++#if SUPERLU_USE ++ SuperLUStat_t stat; ++ superlu_options_t options; ++#endif + #endif + + /* Create Matrix A in the format expected by SuperLU */ +@@ -103,7 +109,9 @@ + + /* Solve */ + #if SUPERLU_USE +- dgssv( &A, perm_c, perm_r, &L, &U, &B, &info ); ++ /* Initialize the statistics variables. */ ++ StatInit(&stat); ++ dgssv(&options, &A, perm_c, perm_r, &L, &U, &B, &stat, &info ); + #elif SUPERLU_MT_USE + pdgssv( nthread, &A, perm_c, perm_r, &L, &U, &B, &info ); + #elif SUPERLU_DIST_USE diff --git a/cad/tochnog/files/patch-src+so_suplu.c b/cad/tochnog/files/patch-src+so_suplu.c index eeb9481d64a6..e69de29bb2d1 100644 --- a/cad/tochnog/files/patch-src+so_suplu.c +++ b/cad/tochnog/files/patch-src+so_suplu.c @@ -1,24 +0,0 @@ ---- so_suplu.c.orig Fri Nov 10 05:59:39 2000 -+++ so_suplu.c Sun Mar 20 00:45:14 2005 -@@ -53,6 +53,10 @@ - int *perm_r, *perm_c; - int perm_spec; - int nrhs; -+#if SUPERLU_USE -+ SuperLUStat_t stat; -+ superlu_options_t options; -+#endif - #endif - - /* Create Matrix A in the format expected by SuperLU */ -@@ -103,7 +107,9 @@ - - /* Solve */ - #if SUPERLU_USE -- dgssv( &A, perm_c, perm_r, &L, &U, &B, &info ); -+ /* Initialize the statistics variables. */ -+ StatInit(&stat); -+ dgssv(&options, &A, perm_c, perm_r, &L, &U, &B, &stat, &info ); - #elif SUPERLU_MT_USE - pdgssv( nthread, &A, perm_c, perm_r, &L, &U, &B, &info ); - #elif SUPERLU_DIST_USE diff --git a/cad/tochnog/files/patch-tnsuplu.h b/cad/tochnog/files/patch-tnsuplu.h index b8f6ceec4f44..6bd5f7d8f7d8 100644 --- a/cad/tochnog/files/patch-tnsuplu.h +++ b/cad/tochnog/files/patch-tnsuplu.h @@ -1,15 +1,15 @@ ---- tnsuplu.h.orig Wed Jun 18 12:39:20 2003 -+++ tnsuplu.h Wed Jun 18 12:45:46 2003 +--- tnsuplu.h.orig Sun Aug 19 12:31:52 2001 ++++ tnsuplu.h Fri Feb 3 15:55:13 2006 @@ -2,6 +2,12 @@ #define SUPERLU_USE 0 #define SUPERLU_MT_USE 0 #define SUPERLU_DIST_USE 0 -+#if SUPERLU_USE /* enums were changed for SuperLU v2 */ ++/* enums were changed for SuperLU v2 */ +#define _D SLU_D +#define DN SLU_DN +#define GE SLU_GE +#define NC SLU_NC -+#endif ++ /* don't change the next lines */ #if SUPERLU_USE+SUPERLU_MT_USE+SUPERLU_DIST_USE > 1 ERROR___ just pick one diff --git a/cad/tochnog/files/patch-tochnog.h b/cad/tochnog/files/patch-tochnog.h index 530d4d49c9df..b36a1daa3872 100644 --- a/cad/tochnog/files/patch-tochnog.h +++ b/cad/tochnog/files/patch-tochnog.h @@ -1,31 +1,32 @@ ---- tochnog.h.orig Sat Jul 12 13:05:15 2003 -+++ tochnog.h Sat Jul 12 15:29:05 2003 -@@ -17,12 +17,25 @@ +--- tochnog.h.orig Sun Feb 11 05:05:27 2001 ++++ tochnog.h Fri Feb 3 15:15:51 2006 +@@ -17,12 +17,17 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <iostream.h> +#include <iostream> -+// C++ iostream compatibility stuff -+using std::ios; -+using std::cout; -+using std::cin; -+using std::flush; -+//end iostream compatibility stuff ++// C++ headers ++#include <iostream> ++#include <fstream> ++#include <iomanip> ++using namespace std; + ++// C headers #include <assert.h> #include <ctype.h> #include <float.h> -#include <fstream.h> -#include <iomanip.h> -+#include <fstream> -+// C++ fstream compatibility stuff -+using std::ifstream; -+using std::ofstream; -+using std::fstream; -+//end fstream compatibility stuff -+ -+#include <iomanip> #include <math.h> #include <limits.h> #include <stdio.h> +@@ -48,6 +53,8 @@ + VERSION_MACRO, // mesh for control_macro + MVERSION // maximum number of versions, this must be the last item + }; ++ ++#define TOCHNOG_VERSION "July_25_2002" + + // constants + #define MCHAR 100 // maximum length of names |