summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorJean-Marc Zucconi <jmz@FreeBSD.org>1999-10-13 22:59:19 +0000
committerJean-Marc Zucconi <jmz@FreeBSD.org>1999-10-13 22:59:19 +0000
commit7776686cb014a5bb84f03ef3a551ff6ff51765cf (patch)
treeaadcd1c9f34492a27719c1a8bb361b3971f5cb9e /math
parentPR: 13680 (diff)
Honor FC and FFLAGS so that the user can easily override them.
Enable testing and timing if ENABLE_TESTING is set to YES so that the user can check how the changes to FC and FFLAGS work. Patches to workaround the SIGFPE stuff and g77's code checking. Update pkg/DESCR. Submitted by: AMAKAWA Shuhei <sa264@cam.ac.uk>
Notes
Notes: svn path=/head/; revision=22413
Diffstat (limited to 'math')
-rw-r--r--math/lapack/Makefile6
-rw-r--r--math/lapack/files/patch-aa25
-rw-r--r--math/lapack/files/patch-ac87
-rw-r--r--math/lapack/pkg-descr69
4 files changed, 140 insertions, 47 deletions
diff --git a/math/lapack/Makefile b/math/lapack/Makefile
index f8e55fd1850d..02d4e14ada50 100644
--- a/math/lapack/Makefile
+++ b/math/lapack/Makefile
@@ -203,6 +203,12 @@ MANL= cbdsqr.l cgbbrd.l cgbcon.l cgbequ.l cgbmv.l cgbrfs.l cgbsv.l cgbsvx.l \
.include <bsd.port.pre.mk>
+pre-fetch:
+ @${ECHO} "You can override FC and FFLAGS on the command line."
+.if !defined(ENABLE_TESTING) || ${ENABLE_TESTING} != "YES"
+ @${ECHO} "Set ENABLE_TESTING to YES to enable testing and timing."
+.endif
+
do-install:
${INSTALL_DATA} ${WRKSRC}/BLAS/SRC/libblas.* ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/SRC/liblapack.* ${PREFIX}/lib
diff --git a/math/lapack/files/patch-aa b/math/lapack/files/patch-aa
index 213135662c06..c7bc38648443 100644
--- a/math/lapack/files/patch-aa
+++ b/math/lapack/files/patch-aa
@@ -1,5 +1,5 @@
---- make.inc~ Mon Jun 28 11:29:38 1999
-+++ make.inc Tue Sep 21 17:54:48 1999
+--- make.inc.orig Mon Jun 28 10:29:38 1999
++++ make.inc Wed Oct 6 11:12:08 1999
@@ -8,7 +8,7 @@
#
# The machine (platform) identifier to append to the library names
@@ -9,31 +9,40 @@
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
-@@ -19,13 +19,13 @@
- FORTRAN = f77
+@@ -16,16 +16,18 @@
+ # selected. Define LOADER and LOADOPTS to refer to the loader and
+ # desired load options for your machine.
+ #
+-FORTRAN = f77
++FORTRAN = $(FC)
#OPTS = -O4 -u -f -mt
++#OPTS = -O4 -u -f -mt
++#OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa
#OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa
-OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa
-+#OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa
++OPTS = $(FFLAGS)
DRVOPTS = $(OPTS)
-NOOPT = -u -f
+#NOOPT = -u -f
#NOOPT = -u -f -mt
- LOADER = f77
+-LOADER = f77
++LOADER = $(FC)
#LOADOPTS = -mt
-LOADOPTS = -f -dalign -native -xO5 -xarch=v8plusa
+#LOADOPTS = -f -dalign -native -xO5 -xarch=v8plusa
#
# The archiver and the flag(s) to use when building archive (library)
# If you system has no ranlib, set RANLIB = echo.
-@@ -40,8 +40,8 @@
+@@ -40,8 +42,9 @@
#
#BLASLIB = ../../blas$(PLAT).a
#BLASLIB = -xlic_lib=sunperf_mt
-BLASLIB = -xlic_lib=sunperf
-LAPACKLIB = lapack$(PLAT).a
+-TMGLIB = tmglib$(PLAT).a
+BLASLIB =../../BLAS/SRC/libblas.a
+LAPACKLIB = SRC/liblapack.a
- TMGLIB = tmglib$(PLAT).a
++TMGLIB = TESTING/MATGEN/libtmg.a
EIGSRCLIB = eigsrc$(PLAT).a
LINSRCLIB = linsrc$(PLAT).a
++FPMCLR = ../../fpmclr_.o
diff --git a/math/lapack/files/patch-ac b/math/lapack/files/patch-ac
index 6e7fda17e1f4..76846c97c838 100644
--- a/math/lapack/files/patch-ac
+++ b/math/lapack/files/patch-ac
@@ -1,15 +1,23 @@
---- Makefile.orig Tue Jun 22 14:29:44 1999
-+++ Makefile Tue Sep 21 21:02:17 1999
-@@ -6,19 +6,20 @@
+--- Makefile.orig Tue Jun 22 13:29:44 1999
++++ Makefile Mon Oct 11 11:31:35 1999
+@@ -6,19 +6,27 @@
include make.inc
--all: install lib testing blas_testing timing blas_timing
-+all: install lib # testing blas_testing timing blas_timing
-
++.if defined(ENABLE_TESTING) && ${ENABLE_TESTING} == "YES"
+ all: install lib testing blas_testing timing blas_timing
+-
-lib: lapacklib tmglib
+-#lib: blaslib lapacklib tmglib
++.else
++all: install lib
++.endif
++
++.if defined(ENABLE_TESTING) && ${ENABLE_TESTING} == "YES"
++lib: blaslib lapacklib tmglib fpmclr_.o
++.else
+lib: lapacklib blaslib
- #lib: blaslib lapacklib tmglib
++.endif
clean: cleanlib cleantesting cleantiming
@@ -26,3 +34,68 @@
blaslib:
( cd BLAS/SRC; $(MAKE) )
+@@ -34,40 +42,40 @@
+
+ blas_testing:
+ ( cd BLAS/TESTING; $(MAKE) -f Makeblat1 )
+- ( cd BLAS; xblat1s > sblat1.out; \
+- xblat1d > dblat1.out; \
+- xblat1c > cblat1.out; \
+- xblat1z > zblat1.out )
++ ( cd BLAS; ./xblat1s > sblat1.out; \
++ ./xblat1d > dblat1.out; \
++ ./xblat1c > cblat1.out; \
++ ./xblat1z > zblat1.out )
+
+ ( cd BLAS/TESTING; $(MAKE) -f Makeblat2 )
+- ( cd BLAS; xblat2s < sblat2.in ; \
+- xblat2d < dblat2.in ; \
+- xblat2c < cblat2.in ; \
+- xblat2z < zblat2.in )
++ ( cd BLAS; ./xblat2s < sblat2.in ; \
++ ./xblat2d < dblat2.in ; \
++ ./xblat2c < cblat2.in ; \
++ ./xblat2z < zblat2.in )
+
+ ( cd BLAS/TESTING; $(MAKE) -f Makeblat3 )
+- ( cd BLAS; xblat3s < sblat3.in ; \
+- xblat3d < dblat3.in ; \
+- xblat3c < cblat3.in ; \
+- xblat3z < zblat3.in )
++ ( cd BLAS; ./xblat3s < sblat3.in ; \
++ ./xblat3d < dblat3.in ; \
++ ./xblat3c < cblat3.in ; \
++ ./xblat3z < zblat3.in )
+
+ timing:
+ ( cd TIMING; $(MAKE) )
+
+ blas_timing:
+ ( cd TIMING/LIN; $(MAKE) )
+- ( cd TIMING; xlintims < sblasa.in > sblasa.out ; \
+- xlintims < sblasb.in > sblasb.out ; \
+- xlintims < sblasc.in > sblasc.out )
+- ( cd TIMING; xlintimd < dblasa.in > dblasa.out ; \
+- xlintimd < dblasb.in > dblasb.out ; \
+- xlintimd < dblasc.in > dblasc.out )
+- ( cd TIMING; xlintimc < cblasa.in > cblasa.out ; \
+- xlintimc < cblasb.in > cblasb.out ; \
+- xlintimc < cblasc.in > cblasc.out )
+- ( cd TIMING; xlintimz < zblasa.in > zblasa.out ; \
+- xlintimz < zblasb.in > zblasb.out ; \
+- xlintimz < zblasc.in > zblasc.out )
++ ( cd TIMING; ./xlintims < sblasa.in > sblasa.out ; \
++ ./xlintims < sblasb.in > sblasb.out ; \
++ ./xlintims < sblasc.in > sblasc.out )
++ ( cd TIMING; ./xlintimd < dblasa.in > dblasa.out ; \
++ ./xlintimd < dblasb.in > dblasb.out ; \
++ ./xlintimd < dblasc.in > dblasc.out )
++ ( cd TIMING; ./xlintimc < cblasa.in > cblasa.out ; \
++ ./xlintimc < cblasb.in > cblasb.out ; \
++ ./xlintimc < cblasc.in > cblasc.out )
++ ( cd TIMING; ./xlintimz < zblasa.in > zblasa.out ; \
++ ./xlintimz < zblasb.in > zblasb.out ; \
++ ./xlintimz < zblasc.in > zblasc.out )
+
+ cleanlib:
+ ( cd INSTALL; $(MAKE) clean )
diff --git a/math/lapack/pkg-descr b/math/lapack/pkg-descr
index a65449b75255..1c7cd3401023 100644
--- a/math/lapack/pkg-descr
+++ b/math/lapack/pkg-descr
@@ -7,31 +7,31 @@ VERSION 1.0a : June 30, 1992
VERSION 1.0b : October 31, 1992
VERSION 1.1 : March 31, 1993
VERSION 2.0 : September 30, 1994
-
-DATE: September 30, 1994
+VERSION 3.0 : June 30, 1999
LAPACK is a library of Fortran 77 subroutines for solving
the most commonly occurring problems in numerical linear algebra.
-It is public-domain software, and can be used freely.
+It is freely-available software, and is copyrighted.
-LAPACK is available via netlib, anonymous ftp, world wide web, and a
-tar tape from NAG.
+LAPACK is available on netlib and can be obtained via the World Wide
+Web and anonymous ftp.
-The tar tape contains the Fortran source for LAPACK, the testing programs, and
-the timing programs.
+ http://www.netlib.org/lapack/
-It also contains Fortran code for the Basic Linear Algebra Subprograms
-(the Level 1, 2, and 3 BLAS) needed by LAPACK.
-However this code is intended for use only if there is no other implementation
-of the BLAS already available on your machine; the efficiency of LAPACK
-depends very much on the efficiency of the BLAS.
+The distribution tar file contains the Fortran source for LAPACK, the
+testing programs, and the timing programs. It also contains the Fortran77
+reference implementation of the Basic Linear Algebra Subprograms
+(the Level 1, 2, and 3 BLAS) needed by LAPACK. However this code is
+intended for use only if there is no other implementation of the BLAS
+already available on your machine; the efficiency of LAPACK depends
+very much on the efficiency of the BLAS.
The complete package, including test code and timing programs in four
different Fortran data types (real, complex, double precision, double
-complex), contains some 735,000 lines of Fortran source and comments.
+complex), contains some 805,000 lines of Fortran source and comments.
You will need approximately 33 Mbytes to read the complete tape.
-We recommend that you run the testing and timing programs.
-The total space requirements for the testing and timing for all four data
+We recommend that you run the testing and timing programs. The total
+space requirements for the testing and timing for all four data
types, including the object files, is approximately 80 Mbytes.
A README file containing the information in this letter is located
@@ -44,28 +44,34 @@ and Timing Suites please consult LAPACK Working Note 41 "Installation
Guide for LAPACK".
It is highly recommended that you obtain a copy of the Second Edition of
-the LAPACK Users' Guide published by SIAM. This second edition will be
-ready sometime in late 1994. This Users' Guide gives a detailed
-description of the philosophy behind LAPACK as well as an explanation of
-its usage. The LAPACK Users' Guide can be purchased from:
+the LAPACK Users' Guide published by SIAM in February 1995. This Users'
+Guide gives a detailed description of the philosophy behind LAPACK as well
+as an explanation of its usage. The LAPACK Users' Guide can be purchased from:
SIAM; 3600 University City Science Center; Philadelphia, PA 19104-2688;
215-382-9800, FAX 215-386-7999. It will also be available from booksellers.
-To order by email, send email to service@siam.org.
-The C version of LAPACK is now available. Refer to the index on netlib
-for more information.
+To order by email, send email to service@siam.org. The book is also
+available via SIAM's World Wide Web URL at http://www.siam.org. The
+ISBN number is 0-89871-345-5, and SIAM order code is OT46. The list
+price for SIAM members is $22.80; the cost for nonmembers is $28.50.
+
+To view an HTML version of the Users' Guide please refer to the URL
-echo "send index from clapack" | mail netlib@ornl.gov
+ http://www.netlib.org/lapack/lug/lapack_lug.html.
-The C++ version of LAPACK is now available. Refer to the index on netlib
-for more information.
+The Fortran90 interface to LAPACK is available, as well as an f2c'ed
+version of LAPACK, and a C++ version of a subset of LAPACK routines.
+Refer to the following URLs on netlib for further information:
-echo "send index from c++/lapack++" | mail netlib@ornl.gov
+ http://www.netlib.org/lapack90/
+ http://www.netlib.org/clapack/
+ http://www.netlib.org/lapack++/
+ http://www.cs.utk.edu/java/f2j/
Or, for more information on the distributed-memory version of LAPACK,
consult the ScaLAPACK index on netlib:
-echo "send index from scalapack" | mail netlib@ornl.gov
+ http://www.netlib.org/scalapack/
LAPACK has been thoroughly tested, on many different
types of computers. The LAPACK project supports the package in the
@@ -75,16 +81,15 @@ of interesting applications, and other comments should be sent by
electronic mail to lapack@cs.utk.edu.
A list of known problems, bugs, and compiler errors for LAPACK is
-maintained on netlib. For a copy of this report, send email to
-netlib@ornl.gov with a message of the form: send release_notes from lapack.
+maintained on netlib.
+ http://www.netlib.org/lapack/release_notes
A number of technical reports were written during the development of
LAPACK and published as LAPACK Working Notes, initially by Argonne
National Laboratory and later by the University of Tennessee. Many of
these reports later appeared as journal articles. Most of these working
-notes are available in postscript form from netlib. To receive a list of
-available reports, send email to netlib@ornl.gov with a message of the
-form: send index from lapack/lawns.
+notes are available in pdf and postscript form from netlib.
+ http://www.netlib.org/lapack/lawns/
Otherwise, requests for copies of these working notes can be sent to
the following address.