summaryrefslogtreecommitdiff
path: root/math/superlu
diff options
context:
space:
mode:
Diffstat (limited to 'math/superlu')
-rw-r--r--math/superlu/Makefile31
-rw-r--r--math/superlu/distinfo1
-rw-r--r--math/superlu/files/patch-aa84
-rw-r--r--math/superlu/files/patch-ab26
-rw-r--r--math/superlu/pkg-comment1
-rw-r--r--math/superlu/pkg-descr26
-rw-r--r--math/superlu/pkg-plist2
7 files changed, 171 insertions, 0 deletions
diff --git a/math/superlu/Makefile b/math/superlu/Makefile
new file mode 100644
index 000000000000..98aa1f1dd584
--- /dev/null
+++ b/math/superlu/Makefile
@@ -0,0 +1,31 @@
+# New ports collection makefile for: SuperLU
+# Version required: 1.1
+# Date created: 31 Oct 97
+# Whom: Pedro Giffuni <giffunip@asme.org>
+#
+# $Id$
+#
+
+DISTNAME= superlu_1.1
+PKGNAME= superlu-1.1
+CATEGORIES= math
+MASTER_SITES= ftp://ftp.cs.berkeley.edu/pub/src/lapack/SuperLU/ \
+ http://www.netlib.org/scalapack/prototype/
+
+MAINTAINER= ports@FreeBSD.org
+
+BUILD_DEPENDS= ${PREFIX}/lib/libblas.a:${PORTSDIR}/math/blas
+
+WRKSRC= ${WRKDIR}/SuperLU
+ALL_TARGET= superlulib
+#
+# NOTE: The Matlab interface was not built.
+#
+
+post-install:
+ $(INSTALL_DATA) ${WRKSRC}/libsuperlu.* ${PREFIX}/lib
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${PREFIX}/share/doc/SuperLU
+ ${INSTALL_DATA} ${WRKSRC}/INSTALL/*.ps ${PREFIX}/share/doc/SuperLU
+.endif
+.include <bsd.port.mk>
diff --git a/math/superlu/distinfo b/math/superlu/distinfo
new file mode 100644
index 000000000000..0c7fd6b91d3b
--- /dev/null
+++ b/math/superlu/distinfo
@@ -0,0 +1 @@
+MD5 (superlu_1.1.tar.gz) = be33fc4a4e256584b0ebcd2ea099007a
diff --git a/math/superlu/files/patch-aa b/math/superlu/files/patch-aa
new file mode 100644
index 000000000000..23caa3113a54
--- /dev/null
+++ b/math/superlu/files/patch-aa
@@ -0,0 +1,84 @@
+*** make.inc.orig Sat Nov 22 22:55:01 1997
+--- make.inc Sat Nov 22 23:36:10 1997
+***************
+*** 14,33 ****
+ #
+ # The machine (platform) identifier to append to the library names
+ #
+! PLAT = _rs6k
+
+ #
+ # The name of the libraries to be created/linked to
+ #
+ TMGLIB = tmglib$(PLAT).a
+! SUPERLULIB = superlu$(PLAT).a
+! #
+! # If you don't have ESSL, you can use the following blaslib instead:
+! # BLASLIB = -lblas -lxlf -lxlf90
+! # which may be slower than ESSL
+! #
+! BLASDEF = -DUSE_VENDOR_BLAS
+! BLASLIB = -lessl
+
+ #
+ # The archiver and the flag(s) to use when building archive (library)
+--- 14,29 ----
+ #
+ # The machine (platform) identifier to append to the library names
+ #
+! #PLAT =
+
+ #
+ # The name of the libraries to be created/linked to
+ #
+ TMGLIB = tmglib$(PLAT).a
+! SUPERLULIB = libsuperlu$(PLAT).a
+!
+! BLASDEF = -DUSE_VENDOR_BLAS
+! BLASLIB = $(PREFIX)/lib/libblas$(PLAT).a
+
+ #
+ # The archiver and the flag(s) to use when building archive (library)
+***************
+*** 36,53 ****
+ ARCH = ar
+ ARCHFLAGS = cr
+ RANLIB = ranlib
+!
+! CC = xlc
+ CFLAGS = -O3
+! LOADER = xlc
+! LOADOPTS = -bmaxdata:0x80000000
+ #
+ # C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase)
+ #
+! CDEFS = -DNoChange
+ #
+ # The directory in which Matlab is installed
+ #
+! MATLAB = /usr/local/matlab
+
+
+--- 32,53 ----
+ ARCH = ar
+ ARCHFLAGS = cr
+ RANLIB = ranlib
+! #
+! # Compiler and optimization
+! #
+! CC = gcc
+ CFLAGS = -O3
+! LOADER = gcc
+! LOADOPTS = -O3
+!
+ #
+ # C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase)
+ #
+! CDEFS = -DAdd_
+ #
+ # The directory in which Matlab is installed
+ #
+! MATLAB = $(PREFIX)/matlab
+!
+
+
diff --git a/math/superlu/files/patch-ab b/math/superlu/files/patch-ab
new file mode 100644
index 000000000000..3bf013f88843
--- /dev/null
+++ b/math/superlu/files/patch-ab
@@ -0,0 +1,26 @@
+*** SRC/util.h.orig Sat Nov 22 22:25:23 1997
+--- SRC/util.h Sat Nov 22 22:29:50 1997
+***************
+*** 2,10 ****
+ #define __SUPERLU_UTIL
+
+ #include <stdio.h>
+ #include <stdlib.h>
+! #include <string.h>
+ #include <malloc.h>
+ #include <assert.h>
+
+ /* Macros */
+--- 2,13 ----
+ #define __SUPERLU_UTIL
+
+ #include <stdio.h>
++ #ifdef __STDC__
+ #include <stdlib.h>
+! #else
+ #include <malloc.h>
++ #endif
++ #include <string.h>
+ #include <assert.h>
+
+ /* Macros */
diff --git a/math/superlu/pkg-comment b/math/superlu/pkg-comment
new file mode 100644
index 000000000000..dbb9664f47c8
--- /dev/null
+++ b/math/superlu/pkg-comment
@@ -0,0 +1 @@
+A library of routines for performing sparse factorization.
diff --git a/math/superlu/pkg-descr b/math/superlu/pkg-descr
new file mode 100644
index 000000000000..8ef7fc666807
--- /dev/null
+++ b/math/superlu/pkg-descr
@@ -0,0 +1,26 @@
+
+ SuperLU Version 1.0
+ ===================
+
+SuperLU contains a set of subroutines to solve a sparse linear system
+A*X=B. It uses Gaussian elimination with partial pivoting (GEPP).
+The columns of A may be preordered before factorization; the
+preordering for sparsity is completely separate from the factorization.
+
+SuperLU is implemented in ANSI C, and must be compiled with standard
+ANSI C compilers. It provides functionality for both real and complex
+matrices, in both single and double precision. The file names for the
+single-precision real version start with letter "s" (such as sgstrf.c);
+the file names for the double-precision real version start with letter "d"
+(such as dgstrf.c); the file names for the single-precision complex
+version start with letter "c" (such as cgstrf.c); the file names
+for the double-precision complex version start with letter "z"
+(such as zgstrf.c).
+
+ ===================
+
+ http://www.cs.berkeley.edu/~xiaoye/superlu.html
+Authors:
+ Jim Demmel demmel@cs.berkeley.edu
+ John Gilbert gilbert@parc.xerox.com
+ Xiaoye S. Li xiaoye@cs.berkeley.edu
diff --git a/math/superlu/pkg-plist b/math/superlu/pkg-plist
new file mode 100644
index 000000000000..2de17f1092c2
--- /dev/null
+++ b/math/superlu/pkg-plist
@@ -0,0 +1,2 @@
+lib/libsuperlu.a
+share/doc/SuperLU/ug.ps