mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
academic/umfpack: Updated for version 5.7.6.
Signed-off-by: Kyle Guinn <elyk03@gmail.com>
This commit is contained in:
parent
36c393d6dd
commit
9a81dc9adc
6 changed files with 92 additions and 81 deletions
|
@ -2,3 +2,13 @@ UMFPACK is a set of routines for solving unsymmetric sparse linear
|
|||
systems, Ax=b, using the Unsymmetric MultiFrontal method.
|
||||
|
||||
This package is part of SuiteSparse.
|
||||
|
||||
This requires a BLAS implementation. Choose one of these package sets:
|
||||
* OpenBLAS
|
||||
* atlas
|
||||
* blas (the Netlib reference implementation)
|
||||
If more than one set is installed (assuming there are no packaging conflicts)
|
||||
then the auto-detection will use the first implementation from this list that
|
||||
it finds. If in doubt, choose the Netlib reference implementations; other
|
||||
packages that require a BLAS or LAPACK implementation may not build if they
|
||||
are not configured to detect/use alternate implementations.
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
diff --git a/ax_blas.m4 b/ax_blas.m4
|
||||
--- a/ax_blas.m4
|
||||
+++ b/ax_blas.m4
|
||||
@@ -117,12 +117,16 @@
|
||||
# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
|
||||
if test $ax_blas_ok = no; then
|
||||
AC_CHECK_LIB(atlas, ATL_xerbla,
|
||||
- [AC_CHECK_LIB(f77blas, $sgemm,
|
||||
- [AC_CHECK_LIB(cblas, cblas_dgemm,
|
||||
- [ax_blas_ok=yes
|
||||
- BLAS_LIBS="-lcblas -lf77blas -latlas"],
|
||||
- [], [-lf77blas -latlas])],
|
||||
- [], [-latlas])])
|
||||
+ [AC_CHECK_LIB(ptf77blas, $sgemm,
|
||||
+ [AC_CHECK_LIB(ptcblas, cblas_dgemm,
|
||||
+ [ax_blas_ok=yes; BLAS_LIBS="-lptcblas -lptf77blas -latlas"],,
|
||||
+ [-lptf77blas -latlas])],
|
||||
+ [AC_CHECK_LIB(f77blas, $sgemm,
|
||||
+ [AC_CHECK_LIB(cblas, cblas_dgemm,
|
||||
+ [ax_blas_ok=yes; BLAS_LIBS="-lcblas -lf77blas -latlas"],,
|
||||
+ [-lf77blas -latlas])],,
|
||||
+ [-latlas])],
|
||||
+ [-latlas])])
|
||||
fi
|
||||
|
||||
# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
|
21
academic/umfpack/patches/atlas-lib-rename.diff
Normal file
21
academic/umfpack/patches/atlas-lib-rename.diff
Normal file
|
@ -0,0 +1,21 @@
|
|||
diff --git a/m4/ax_blas.m4 b/m4/ax_blas.m4
|
||||
--- a/m4/ax_blas.m4
|
||||
+++ b/m4/ax_blas.m4
|
||||
@@ -116,13 +116,10 @@
|
||||
|
||||
# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
|
||||
if test $ax_blas_ok = no; then
|
||||
- AC_CHECK_LIB(atlas, ATL_xerbla,
|
||||
- [AC_CHECK_LIB(f77blas, $sgemm,
|
||||
- [AC_CHECK_LIB(cblas, cblas_dgemm,
|
||||
- [ax_blas_ok=yes
|
||||
- BLAS_LIBS="-lcblas -lf77blas -latlas"],
|
||||
- [], [-lf77blas -latlas])],
|
||||
- [], [-latlas])])
|
||||
+ AC_CHECK_LIB(tatlas, $sgemm,
|
||||
+ [ax_blas_ok=yes; BLAS_LIBS="-ltatlas"],
|
||||
+ [AC_CHECK_LIB(satlas, $sgemm,
|
||||
+ [ax_blas_ok=yes; BLAS_LIBS="-lsatlas"])])
|
||||
fi
|
||||
|
||||
# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
|
|
@ -159,22 +159,22 @@ diff --git a/Doc/Makefile.am b/Doc/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Doc/Makefile.am
|
||||
@@ -0,0 +1,97 @@
|
||||
@@ -0,0 +1,101 @@
|
||||
+EXTRA_DIST = \
|
||||
+ ChangeLog \
|
||||
+ License \
|
||||
+ License.txt \
|
||||
+ gpl.txt
|
||||
+
|
||||
+dist_noinst_DATA = \
|
||||
+ QuickStart.tex \
|
||||
+ UMFPACK_QuickStart.tex \
|
||||
+ UserGuide.bib \
|
||||
+ UserGuide.sed1 \
|
||||
+ UserGuide.sed2 \
|
||||
+ UserGuide.stex
|
||||
+ UMFPACK_UserGuide.stex
|
||||
+
|
||||
+dist_pdf_DATA = \
|
||||
+ QuickStart.pdf \
|
||||
+ UserGuide.pdf
|
||||
+ UMFPACK_QuickStart.pdf \
|
||||
+ UMFPACK_UserGuide.pdf
|
||||
+
|
||||
+# Unlike UserGuide.sed1, use \input{filename.tex} to insert the source code
|
||||
+# which we will construct below. Also remove the \begin{verbatim} and
|
||||
|
@ -191,7 +191,7 @@ new file mode 100644
|
|||
+echo '\end{verbatim}' >> $@
|
||||
+endef
|
||||
+
|
||||
+UserGuide.tex: $(srcdir)/UserGuide.stex
|
||||
+UMFPACK_UserGuide.tex: $(srcdir)/UMFPACK_UserGuide.stex
|
||||
+ $(sed1)
|
||||
+
|
||||
+_simple_c.tex: $(top_srcdir)/Demo/umfpack_simple.c
|
||||
|
@ -233,8 +233,12 @@ new file mode 100644
|
|||
+ _triplet_to_col_h.tex \
|
||||
+ _wsolve_h.tex
|
||||
+
|
||||
+.INTERMEDIATE: UserGuide.tex $(SRC)
|
||||
+UserGuide.tex: $(SRC)
|
||||
+.INTERMEDIATE: UMFPACK_UserGuide.tex $(SRC)
|
||||
+UMFPACK_UserGuide.tex: $(SRC)
|
||||
+
|
||||
+.INTERMEDIATE: UMFPACK_UserGuide.bib
|
||||
+UMFPACK_UserGuide.bib: UserGuide.bib
|
||||
+ $(LN_S) -f $< $@
|
||||
+
|
||||
+TEX = TEXINPUTS="$(srcdir):" pdflatex -interaction nonstopmode -file-line-error
|
||||
+BIB = BIBINPUTS="$(srcdir):" bibtex
|
||||
|
@ -249,13 +253,13 @@ new file mode 100644
|
|||
+ $(TEX) $*
|
||||
+
|
||||
+# QuickStart does not include a bibliography, so the above rule won't work.
|
||||
+QuickStart.pdf: %.pdf: %.tex
|
||||
+UMFPACK_QuickStart.pdf: %.pdf: %.tex
|
||||
+ $(TEX) $*
|
||||
+ while grep -q "Rerun to get cross-references right" $*.log; do \
|
||||
+ $(TEX) $*; \
|
||||
+ done
|
||||
+
|
||||
+CLEANFILES = *.aux *.bbl *.blg *.log *.toc UserGuide.tex
|
||||
+CLEANFILES = *.aux *.bbl *.blg *.log *.toc UMFPACK_UserGuide.tex
|
||||
+MAINTAINERCLEANFILES = $(dist_pdf_DATA)
|
||||
diff --git a/Include/Makefile.am b/Include/Makefile.am
|
||||
new file mode 100644
|
||||
|
@ -300,11 +304,10 @@ diff --git a/Makefile.am b/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Makefile.am
|
||||
@@ -0,0 +1,5 @@
|
||||
@@ -0,0 +1,4 @@
|
||||
+SUBDIRS = Include Source Demo Doc
|
||||
+EXTRA_DIST = README.txt
|
||||
+
|
||||
+pkgconfigdir = $(libdir)/pkgconfig
|
||||
+pkgconfig_DATA = umfpack.pc
|
||||
diff --git a/Source/Makefile.am b/Source/Makefile.am
|
||||
new file mode 100644
|
||||
|
@ -463,8 +466,8 @@ new file mode 100644
|
|||
+libumf_l_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
|
||||
+
|
||||
+if CHOLMOD
|
||||
+libumf_i_la_LIBADD = $(CHOLMOD_LIBS) -lgfortran
|
||||
+libumf_l_la_LIBADD = $(CHOLMOD_LIBS) -lgfortran
|
||||
+libumf_i_la_LIBADD = $(CHOLMOD_LIBS)
|
||||
+libumf_l_la_LIBADD = $(CHOLMOD_LIBS)
|
||||
+else
|
||||
+libumf_i_la_CPPFLAGS += -DNCHOLMOD
|
||||
+libumf_l_la_CPPFLAGS += -DNCHOLMOD
|
||||
|
@ -876,56 +879,48 @@ diff --git a/configure.ac b/configure.ac
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/configure.ac
|
||||
@@ -0,0 +1,75 @@
|
||||
@@ -0,0 +1,71 @@
|
||||
+# -*- Autoconf -*-
|
||||
+# Process this file with autoconf to produce a configure script.
|
||||
+
|
||||
+AC_PREREQ([2.69])
|
||||
+AC_INIT([UMFPACK],[5.7.1],[DrTimothyAldenDavis@gmail.com],[umfpack],[http://www.suitesparse.com/])
|
||||
+AC_INIT([UMFPACK],[5.7.6],[DrTimothyAldenDavis@gmail.com],[umfpack],[http://www.suitesparse.com/])
|
||||
+AC_CONFIG_SRCDIR([Source/umfpack_solve.c])
|
||||
+AC_CONFIG_HEADERS([config.h])
|
||||
+AM_INIT_AUTOMAKE([foreign])
|
||||
+LT_INIT
|
||||
+
|
||||
+# Checks for programs.
|
||||
+PKG_PROG_PKG_CONFIG
|
||||
+AC_PROG_INSTALL
|
||||
+AC_PROG_CC
|
||||
+AC_PROG_F77
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to use cholmod])
|
||||
+AC_ARG_WITH([cholmod],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--without-cholmod],
|
||||
+ [do not use CHOLMOD for ordering methods])],
|
||||
+ [cholmod=$withval],
|
||||
+ [cholmod="yes"])
|
||||
+AC_MSG_RESULT([$cholmod])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([with_cholmod], [yes])])
|
||||
+
|
||||
+LIBS_SAVED=$LIBS
|
||||
+AS_VAR_SET([LIBS_SAVED], [$LIBS])
|
||||
+
|
||||
+# Checks for libraries.
|
||||
+AC_CHECK_LIB([m], [sqrt])
|
||||
+
|
||||
+sinclude(ax_blas.m4)
|
||||
+AX_BLAS
|
||||
+if test "x$ax_blas_ok" != "xyes"; then
|
||||
+ AC_MSG_ERROR([cannot find blas])
|
||||
+fi
|
||||
+
|
||||
+PKG_PROG_PKG_CONFIG
|
||||
+PKG_CHECK_MODULES([SUITESPARSECONFIG],[suitesparseconfig],
|
||||
+AX_BLAS(
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find suitesparseconfig])])
|
||||
+PKG_CHECK_MODULES([AMD],[amd],
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find amd])])
|
||||
+UMFPACK_REQUIRES="suitesparseconfig amd"
|
||||
+ [AC_MSG_ERROR([cannot find BLAS])])
|
||||
+
|
||||
+if test "x$cholmod" = "xyes"; then
|
||||
+ PKG_CHECK_MODULES([CHOLMOD],[cholmod],
|
||||
+ [UMFPACK_REQUIRES="$UMFPACK_REQUIRES cholmod"],
|
||||
+ [AC_MSG_ERROR([cannot find cholmod])])
|
||||
+fi
|
||||
+PKG_CHECK_MODULES([SUITESPARSECONFIG], [suitesparseconfig])
|
||||
+PKG_CHECK_MODULES([AMD], [amd])
|
||||
+AS_VAR_SET([UMFPACK_REQUIRES], ["suitesparseconfig amd"])
|
||||
+
|
||||
+AS_IF([test "x$with_cholmod" = "xyes"], [
|
||||
+ PKG_CHECK_MODULES([CHOLMOD], [cholmod])
|
||||
+ AS_VAR_APPEND([UMFPACK_REQUIRES], [" cholmod"])
|
||||
+])
|
||||
+
|
||||
+# Checks for header files.
|
||||
+AC_CHECK_HEADERS([float.h stdlib.h string.h])
|
||||
|
@ -938,19 +933,23 @@ new file mode 100644
|
|||
+AC_FUNC_MALLOC
|
||||
+AC_CHECK_FUNCS([pow sqrt])
|
||||
+
|
||||
+LIBS=$LIBS_SAVED
|
||||
+AS_VAR_SET([LIBS], [$LIBS_SAVED])
|
||||
+
|
||||
+AM_CONDITIONAL([CHOLMOD], [test "x$cholmod" = "xyes"])
|
||||
+AC_MSG_CHECKING([whether to use CHOLMOD for ordering methods])
|
||||
+AC_MSG_RESULT([$with_cholmod])
|
||||
+AM_CONDITIONAL([CHOLMOD], [test "x$with_cholmod" = "xyes"])
|
||||
+
|
||||
+AC_SUBST([UMFPACK_REQUIRES])
|
||||
+
|
||||
+PKG_INSTALLDIR
|
||||
+AC_CONFIG_FILES([
|
||||
+ umfpack.pc
|
||||
+ Makefile
|
||||
+ Demo/Makefile
|
||||
+ Doc/Makefile
|
||||
+ Include/Makefile
|
||||
+ Source/Makefile])
|
||||
+ Source/Makefile
|
||||
+])
|
||||
+AC_OUTPUT
|
||||
diff --git a/umfpack.pc.in b/umfpack.pc.in
|
||||
new file mode 100644
|
|
@ -25,14 +25,14 @@
|
|||
PRGNAM=umfpack
|
||||
SRCNAM=SuiteSparse
|
||||
SUBDIR=UMFPACK
|
||||
VERSION=${VERSION:-5.7.1}
|
||||
SRCVER=${SRCVER:-4.4.6}
|
||||
BUILD=${BUILD:-2}
|
||||
VERSION=${VERSION:-5.7.6}
|
||||
SRCVER=${SRCVER:-4.5.3}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$(uname -m)" in
|
||||
i?86) ARCH=i486 ;;
|
||||
i?86) ARCH=i586 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$(uname -m) ;;
|
||||
esac
|
||||
|
@ -43,11 +43,14 @@ TMP=${TMP:-/tmp/SBo}
|
|||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
DOCS="README.txt Doc/ChangeLog Doc/License Doc/gpl.txt"
|
||||
DOCS="README.txt Doc/ChangeLog Doc/License.txt Doc/gpl.txt"
|
||||
|
||||
if [ "$ARCH" = "i486" ]; then
|
||||
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "i586" ]; then
|
||||
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
|
@ -73,12 +76,14 @@ cd $SRCNAM/$SUBDIR
|
|||
chown -R root:root .
|
||||
chmod -R u+w,go-w,a+rX-st .
|
||||
|
||||
patch -p1 < $CWD/autotoolize.diff
|
||||
patch -p1 < $CWD/atlas-threaded-blas.diff
|
||||
patch -p1 < $CWD/patches/autotoolize.diff
|
||||
patch -p2 < $CWD/patches/atlas-lib-rename.diff
|
||||
autoreconf -vif
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
FFLAGS="$SLKCFLAGS" \
|
||||
# Avoid rebuilding the docs.
|
||||
touch Doc/UMFPACK_QuickStart.pdf
|
||||
touch Doc/UMFPACK_UserGuide.pdf
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||
|
@ -90,7 +95,9 @@ FFLAGS="$SLKCFLAGS" \
|
|||
--enable-shared \
|
||||
--disable-static \
|
||||
--disable-dependency-tracking \
|
||||
--build=$ARCH-slackware-linux
|
||||
--build=$ARCH-slackware-linux \
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
FFLAGS="$SLKCFLAGS" \
|
||||
|
||||
make
|
||||
make check
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PRGNAM="umfpack"
|
||||
VERSION="5.7.1"
|
||||
VERSION="5.7.6"
|
||||
HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
|
||||
DOWNLOAD="http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.6.tar.gz"
|
||||
MD5SUM="131a3a5e2dee784cd946284e44ce9af2"
|
||||
DOWNLOAD="http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.5.3.tar.gz"
|
||||
MD5SUM="8ec57324585df3c6483ad7f556afccbd"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES="blas suitesparseconfig amd cholmod"
|
||||
|
|
Loading…
Reference in a new issue