Summary: The LAPACK libraries for numerical linear algebra. Name: lapack Version: 3.1.1 Release: 1 License: BSD Group: Development/Libraries URL: http://www.netlib.org/lapack/ Source0: http://www.netlib.org/%{name}/%{name}-%{version}.tgz Source1: %{name}-%{version}-make.inc Source2: lapackqref.ps Source3: blasqr.ps Source4: blasqr.pdf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %description LAPACK (Linear Algebra PACKage) is a standard library for numerical linear algebra. LAPACK provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. Associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, and generalized Schur) and related computations (i.e., reordering of Schur factorizations and estimating condition numbers) are also included. LAPACK can handle dense and banded matrices, but not general sparse matrices. Similar functionality is provided for real and complex matrices in both single and double precision. LAPACK is coded in Fortran77. The library is available as 32-bit and 64-bit. %package -n blas Summary: The BLAS (Basic Linear Algebra Subprograms) library. Group: Development/Libraries %description -n blas BLAS (Basic Linear Algebra Subprograms) is a standard library which provides a number of basic algorithms for numerical algebra. The library is available as 32-bit and 64-bit. %prep %setup -q cp -f %{SOURCE1} make.inc %build # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" export NM="nm -X32_64" # ------------------- 64-bits start ------------------ # first build the 64-bit version export F77="xlf -q64" # Build BLAS cd BLAS/SRC make %{?_smp_mflags} cd ../.. # Build the dlamch, dsecnd, lsame, second, slamch bits cd INSTALL make %{?_smp_mflags} cd .. # Build the lapack library cd SRC make %{?_smp_mflags} cd .. # create shared objects for f in blas lapack ; do CreateExportList -X64 $f.exp $f.a ${F77} -qmkshrobj $f.a -o shr64.o -bE:$f.exp -berok rm -f $f.exp ${AR} -rv lib$f.a shr64.o done # ------------------- 64-bits end ------------------ make clean rm -f blas.a lapack.a # ------------------- 32-bits start ------------------ # now build the 32-bit version export F77="xlf" # Build BLAS cd BLAS/SRC make %{?_smp_mflags} cd ../.. # Build the dlamch, dsecnd, lsame, second, slamch bits cd INSTALL make %{?_smp_mflags} cd .. # Build the lapack library cd SRC make %{?_smp_mflags} cd .. # create shared objects for f in blas lapack ; do CreateExportList -X32 $f.exp $f.a ${F77} -qmkshrobj $f.a -o shr32.o -bE:$f.exp -berok rm -f $f.exp ${AR} -q lib$f.a shr32.o done # ------------------- 32-bits end ------------------ cp %{SOURCE2} . cp %{SOURCE3} . cp %{SOURCE4} . %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT mkdir -p ${RPM_BUILD_ROOT}%{_libdir} mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/manl for f in libblas.a liblapack.a ; do cp -f $f ${RPM_BUILD_ROOT}%{_libdir}/$f done find manpages/blas/man/manl -type f > tmpFile rm -f blasmans ; touch blasmans for f in `cat tmpFile` ; do echo %{_mandir}/manl/`basename $f manpages/blas/man/manl/` >> blasmans done # These are also in the BLAS package rm -f manpages/man/manl/lsame.l* rm -f manpages/man/manl/xerbla.l* find manpages/man/manl -type f > tmpFile rm -f lapackmans ; touch lapackmans for f in `cat tmpFile` ; do echo %{_mandir}/manl/`basename $f manpages/blas/man/manl/` >> lapackmans done cp -f manpages/blas/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl cp -f manpages/man/manl/* ${RPM_BUILD_ROOT}%{_mandir}/manl %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %files -f lapackmans %defattr(-,root,system) %doc README lapackqref.ps %{_libdir}/liblapack.a %files -n blas -f blasmans %defattr(-,root,system) %doc blasqr.ps blasqr.pdf %{_libdir}/libblas*.a %changelog * Fri Feb 01 2008 Michael Perzl - 3.1.1-1 - first version for AIX V5.1 and higher