mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-16 19:50:19 +01:00
academic/cholmod: Updated for version 3.0.11.
Signed-off-by: Kyle Guinn <elyk03@gmail.com>
This commit is contained in:
parent
0fb73f8315
commit
5d13a1088d
6 changed files with 220 additions and 252 deletions
|
@ -3,4 +3,14 @@ update/downdate.
|
|||
|
||||
This package is part of SuiteSparse.
|
||||
|
||||
This requires a BLAS/LAPACK implementation. Choose one of these package sets:
|
||||
* OpenBLAS (includes both a BLAS and a LAPACK implementation)
|
||||
* atlas (includes both a BLAS and a LAPACK implementation)
|
||||
* blas, lapack (the Netlib reference implementations)
|
||||
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.
|
||||
|
||||
metis is an optional dependency and will be used if found.
|
||||
|
|
|
@ -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)
|
|
@ -25,14 +25,14 @@
|
|||
PRGNAM=cholmod
|
||||
SRCNAM=SuiteSparse
|
||||
SUBDIR=CHOLMOD
|
||||
VERSION=${VERSION:-3.0.6}
|
||||
SRCVER=${SRCVER:-4.4.6}
|
||||
VERSION=${VERSION:-3.0.11}
|
||||
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,12 +43,14 @@ TMP=${TMP:-/tmp/SBo}
|
|||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
DOCS="README.txt Doc/ChangeLog Core/lesser.txt Modify/gpl.txt"
|
||||
MODULE_DOCS="Core/License.txt Check/License.txt Cholesky/License.txt Partition/License.txt MatrixOps/License.txt Modify/License.txt Supernodal/License.txt"
|
||||
DOCS="README.txt Doc/ChangeLog Doc/License.txt Core/lesser.txt Modify/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=""
|
||||
|
@ -74,12 +76,13 @@ 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/CHOLMOD_UserGuide.pdf
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||
|
@ -91,7 +94,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
|
||||
|
@ -101,9 +106,6 @@ find $PKG/usr/lib${LIBDIRSUFFIX} -name '*.la' -delete
|
|||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
for i in $MODULE_DOCS; do
|
||||
cp -a $i $PKG/usr/doc/$PRGNAM-$VERSION/$(echo $i | tr / _)
|
||||
done
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
mkdir -p $PKG/install
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PRGNAM="cholmod"
|
||||
VERSION="3.0.6"
|
||||
VERSION="3.0.11"
|
||||
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 lapack suitesparseconfig amd camd colamd ccolamd"
|
||||
|
|
21
academic/cholmod/patches/atlas-lib-rename.diff
Normal file
21
academic/cholmod/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)
|
|
@ -2,11 +2,10 @@ diff --git a/Check/Makefile.am b/Check/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Check/Makefile.am
|
||||
@@ -0,0 +1,26 @@
|
||||
@@ -0,0 +1,25 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ lesser.txt
|
||||
+
|
||||
+CHECKSRC = \
|
||||
|
@ -21,7 +20,7 @@ new file mode 100644
|
|||
+
|
||||
+libchecki_la_SOURCES = $(CHECKSRC)
|
||||
+libchecki_la_LIBADD = $(SUITESPARSECONFIG_LIBS)
|
||||
+libchecki_la_CPPFLAGS= $(AM_CPPFLAGS)
|
||||
+libchecki_la_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
+
|
||||
+libcheckl_la_SOURCES = $(CHECKSRC)
|
||||
+libcheckl_la_LIBADD = $(SUITESPARSECONFIG_LIBS)
|
||||
|
@ -33,11 +32,10 @@ diff --git a/Cholesky/Makefile.am b/Cholesky/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Cholesky/Makefile.am
|
||||
@@ -0,0 +1,41 @@
|
||||
@@ -0,0 +1,40 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(COLAMD_CFLAGS) $(AMD_CFLAGS) $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ lesser.txt
|
||||
+
|
||||
+CHOLESKYSRC = \
|
||||
|
@ -79,11 +77,10 @@ diff --git a/Core/Makefile.am b/Core/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Core/Makefile.am
|
||||
@@ -0,0 +1,44 @@
|
||||
@@ -0,0 +1,43 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ lesser.txt
|
||||
+
|
||||
+CORESRC = \
|
||||
|
@ -132,7 +129,7 @@ new file mode 100644
|
|||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ README.txt \
|
||||
+ gpl.txt
|
||||
+
|
||||
+dist_noinst_HEADERS = \
|
||||
|
@ -163,13 +160,13 @@ new file mode 100644
|
|||
+ cholmod_simple
|
||||
+
|
||||
+cholmod_demo_SOURCES = cholmod_demo.c
|
||||
+cholmod_demo_LDADD = $(top_builddir)/libcholmod.la $(SUITESPARSECONFIG_LIBS) -lgfortran
|
||||
+cholmod_demo_LDADD = $(top_builddir)/libcholmod.la $(SUITESPARSECONFIG_LIBS)
|
||||
+
|
||||
+cholmod_l_demo_SOURCES = cholmod_l_demo.c
|
||||
+cholmod_l_demo_LDADD = $(top_builddir)/libcholmod.la $(SUITESPARSECONFIG_LIBS) -lgfortran
|
||||
+cholmod_l_demo_LDADD = $(top_builddir)/libcholmod.la $(SUITESPARSECONFIG_LIBS)
|
||||
+
|
||||
+cholmod_simple_SOURCES = cholmod_simple.c
|
||||
+cholmod_simple_LDADD = $(top_builddir)/libcholmod.la -lgfortran
|
||||
+cholmod_simple_LDADD = $(top_builddir)/libcholmod.la
|
||||
+
|
||||
+check-local: $(check_PROGRAMS) $(dist_noinst_DATA)
|
||||
+ ./cholmod_demo < $(srcdir)/Matrix/bcsstk01.tri
|
||||
|
@ -193,13 +190,14 @@ diff --git a/Doc/Makefile.am b/Doc/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Doc/Makefile.am
|
||||
@@ -0,0 +1,437 @@
|
||||
@@ -0,0 +1,442 @@
|
||||
+EXTRA_DIST = \
|
||||
+ ChangeLog
|
||||
+ ChangeLog \
|
||||
+ License.txt
|
||||
+
|
||||
+dist_noinst_DATA = \
|
||||
+ UserGuide.bib \
|
||||
+ UserGuide.tex \
|
||||
+ CHOLMOD_UserGuide.tex \
|
||||
+ header.tex \
|
||||
+ footer.tex \
|
||||
+ mheader.tex \
|
||||
|
@ -208,7 +206,7 @@ new file mode 100644
|
|||
+ rule.awk
|
||||
+
|
||||
+dist_pdf_DATA = \
|
||||
+ UserGuide.pdf
|
||||
+ CHOLMOD_UserGuide.pdf
|
||||
+
|
||||
+dist_noinst_SCRIPTS = \
|
||||
+ getmproto \
|
||||
|
@ -614,8 +612,12 @@ new file mode 100644
|
|||
+ $(PROTO_SUPERNODAL) \
|
||||
+ $(PROTO_PARTITION)
|
||||
+
|
||||
+UserGuide.pdf UserGuide.aux: $(PROTO)
|
||||
+.INTERMEDIATE: UserGuide.aux $(PROTO)
|
||||
+CHOLMOD_UserGuide.pdf CHOLMOD_UserGuide.aux: $(PROTO)
|
||||
+.INTERMEDIATE: CHOLMOD_UserGuide.aux $(PROTO)
|
||||
+
|
||||
+.INTERMEDIATE: CHOLMOD_UserGuide.bib
|
||||
+CHOLMOD_UserGuide.bib: UserGuide.bib
|
||||
+ $(LN_S) -f $< $@
|
||||
+
|
||||
+TEX = TEXINPUTS="$(srcdir):" pdflatex -interaction nonstopmode -file-line-error
|
||||
+BIB = BIBINPUTS="$(srcdir):" bibtex
|
||||
|
@ -635,7 +637,8 @@ diff --git a/GPU/Makefile.am b/GPU/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/GPU/Makefile.am
|
||||
@@ -0,0 +1,25 @@
|
||||
@@ -0,0 +1,26 @@
|
||||
+AM_CFLAGS = $(OPENMP_CFLAGS)
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+GPUSRC = \
|
||||
|
@ -665,9 +668,8 @@ diff --git a/Include/Makefile.am b/Include/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Include/Makefile.am
|
||||
@@ -0,0 +1,45 @@
|
||||
@@ -0,0 +1,47 @@
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ README.txt
|
||||
+
|
||||
+# Automatically generated headers
|
||||
|
@ -697,7 +699,10 @@ new file mode 100644
|
|||
+endif
|
||||
+
|
||||
+if MOD_PARTITION
|
||||
+pkginclude_HEADERS += cholmod_camd.h cholmod_partition.h
|
||||
+pkginclude_HEADERS += cholmod_camd.h
|
||||
+if MOD_PARTITION_METIS
|
||||
+pkginclude_HEADERS += cholmod_partition.h
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
+if MOD_MATRIXOPS
|
||||
|
@ -716,7 +721,7 @@ rename from Include/cholmod_config.h
|
|||
rename to Include/cholmod_config.h.in
|
||||
--- a/Include/cholmod_config.h
|
||||
+++ b/Include/cholmod_config.h.in
|
||||
@@ -54,17 +54,31 @@
|
||||
@@ -45,16 +45,28 @@
|
||||
/* Use the compiler flag, or uncomment the definition(s), if you want to use
|
||||
* one or more non-default installation options: */
|
||||
|
||||
|
@ -728,7 +733,6 @@ rename to Include/cholmod_config.h.in
|
|||
+/* Define to disable the Check module */
|
||||
+#undef NCHECK
|
||||
|
||||
-#define NGPL
|
||||
-#define NMATRIXOPS
|
||||
-#define NMODIFY
|
||||
-#define NSUPERNODAL
|
||||
|
@ -738,12 +742,9 @@ rename to Include/cholmod_config.h.in
|
|||
+/* Define to disable the Partition module */
|
||||
+#undef NCAMD
|
||||
+
|
||||
+/* Define to disable metis support in the Partition module */
|
||||
+/* Define to disable METIS support in the Partition module */
|
||||
+#undef NPARTITION
|
||||
|
||||
+/* Define to disable GPL-licensed modules */
|
||||
+#undef NGPL
|
||||
+
|
||||
+/* Define to disable the MatrixOps module */
|
||||
+#undef NMATRIXOPS
|
||||
+
|
||||
|
@ -757,6 +758,16 @@ rename to Include/cholmod_config.h.in
|
|||
#define NPRINT
|
||||
|
||||
#define LONGBLAS long
|
||||
@@ -62,6 +74,9 @@
|
||||
#define NSUNPERF
|
||||
*/
|
||||
|
||||
+/* Define to disable GPL-licensed modules */
|
||||
+#undef NGPL
|
||||
+
|
||||
/* The option disables the MatrixOps, Modify, and Supernodal modules. The
|
||||
existence of this #define here, and its use in these 3 modules, does not
|
||||
affect the license itself; see CHOLMOD/Doc/License.txt for your actual
|
||||
diff --git a/MATLAB/Makefile.am b/MATLAB/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
@ -792,11 +803,10 @@ diff --git a/Makefile.am b/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Makefile.am
|
||||
@@ -0,0 +1,46 @@
|
||||
@@ -0,0 +1,47 @@
|
||||
+SUBDIRS = Include Core
|
||||
+EXTRA_DIST = README.txt
|
||||
+
|
||||
+pkgconfigdir = $(libdir)/pkgconfig
|
||||
+pkgconfig_DATA = cholmod.pc
|
||||
+
|
||||
+lib_LTLIBRARIES = libcholmod.la
|
||||
|
@ -835,19 +845,20 @@ new file mode 100644
|
|||
+libcholmod_la_LIBADD += $(top_builddir)/Supernodal/libsupernodal.la
|
||||
+endif
|
||||
+
|
||||
+#SUBDIRS += GPU
|
||||
+#libcholmod_la_LIBADD += $(top_builddir)/GPU/libgpu.la
|
||||
+if MOD_GPU
|
||||
+SUBDIRS += GPU
|
||||
+libcholmod_la_LIBADD += $(top_builddir)/GPU/libgpu.la
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS += MATLAB Demo Doc
|
||||
diff --git a/MatrixOps/Makefile.am b/MatrixOps/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/MatrixOps/Makefile.am
|
||||
@@ -0,0 +1,35 @@
|
||||
@@ -0,0 +1,34 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ gpl.txt
|
||||
+
|
||||
+MATRIXOPSSRC = \
|
||||
|
@ -883,11 +894,10 @@ diff --git a/Modify/Makefile.am b/Modify/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Modify/Makefile.am
|
||||
@@ -0,0 +1,30 @@
|
||||
@@ -0,0 +1,29 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ gpl.txt
|
||||
+
|
||||
+MODIFYSRC = \
|
||||
|
@ -918,17 +928,17 @@ diff --git a/Partition/Makefile.am b/Partition/Makefile.am
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Partition/Makefile.am
|
||||
@@ -0,0 +1,28 @@
|
||||
@@ -0,0 +1,33 @@
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(METIS_CFLAGS) $(CCOLAMD_CFLAGS) $(CAMD_CFLAGS) $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ lesser.txt
|
||||
+
|
||||
+PARTITIONSRC = \
|
||||
+ cholmod_camd.c \
|
||||
+ cholmod_ccolamd.c \
|
||||
+ cholmod_csymamd.c \
|
||||
+ cholmod_csymamd.c
|
||||
+METISSRC = \
|
||||
+ cholmod_metis.c \
|
||||
+ cholmod_nesdis.c
|
||||
+
|
||||
|
@ -945,72 +955,22 @@ new file mode 100644
|
|||
+libpartitionl_la_LIBADD = $(METIS_LIBS) $(CCOLAMD_LIBS) $(CAMD_LIBS) $(SUITESPARSECONFIG_LIBS) -lm
|
||||
+libpartitionl_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
|
||||
+
|
||||
+if MOD_PARTITION_METIS
|
||||
+libpartitioni_la_SOURCES += $(METISSRC)
|
||||
+libpartitionl_la_SOURCES += $(METISSRC)
|
||||
+endif
|
||||
+
|
||||
+libpartition_la_SOURCES =
|
||||
+libpartition_la_LIBADD = libpartitioni.la libpartitionl.la
|
||||
diff --git a/Partition/cholmod_camd.c b/Partition/cholmod_camd.c
|
||||
--- a/Partition/cholmod_camd.c
|
||||
+++ b/Partition/cholmod_camd.c
|
||||
@@ -32,6 +32,7 @@
|
||||
* Supports any xtype (pattern, real, complex, or zomplex)
|
||||
*/
|
||||
|
||||
+#include "cholmod_config.h"
|
||||
#ifndef NCAMD
|
||||
|
||||
#include "cholmod_internal.h"
|
||||
diff --git a/Partition/cholmod_ccolamd.c b/Partition/cholmod_ccolamd.c
|
||||
--- a/Partition/cholmod_ccolamd.c
|
||||
+++ b/Partition/cholmod_ccolamd.c
|
||||
@@ -22,6 +22,7 @@
|
||||
* Supports any xtype (pattern, real, complex, or zomplex).
|
||||
*/
|
||||
|
||||
+#include "cholmod_config.h"
|
||||
#ifndef NCAMD
|
||||
|
||||
#include "cholmod_internal.h"
|
||||
diff --git a/Partition/cholmod_csymamd.c b/Partition/cholmod_csymamd.c
|
||||
--- a/Partition/cholmod_csymamd.c
|
||||
+++ b/Partition/cholmod_csymamd.c
|
||||
@@ -21,6 +21,7 @@
|
||||
* Supports any xtype (pattern, real, complex, or zomplex).
|
||||
*/
|
||||
|
||||
+#include "cholmod_config.h"
|
||||
#ifndef NCAMD
|
||||
|
||||
#include "cholmod_internal.h"
|
||||
diff --git a/Partition/cholmod_metis.c b/Partition/cholmod_metis.c
|
||||
--- a/Partition/cholmod_metis.c
|
||||
+++ b/Partition/cholmod_metis.c
|
||||
@@ -43,6 +43,7 @@
|
||||
* Supports any xtype (pattern, real, complex, or zomplex).
|
||||
*/
|
||||
|
||||
+#include "cholmod_config.h"
|
||||
#ifndef NPARTITION
|
||||
|
||||
#include "cholmod_internal.h"
|
||||
diff --git a/Partition/cholmod_nesdis.c b/Partition/cholmod_nesdis.c
|
||||
--- a/Partition/cholmod_nesdis.c
|
||||
+++ b/Partition/cholmod_nesdis.c
|
||||
@@ -38,6 +38,7 @@
|
||||
* Supports any xtype (pattern, real, complex, or zomplex).
|
||||
*/
|
||||
|
||||
+#include "cholmod_config.h"
|
||||
#ifndef NPARTITION
|
||||
|
||||
#include "cholmod_internal.h"
|
||||
diff --git a/Supernodal/Makefile.am b/Supernodal/Makefile.am
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Supernodal/Makefile.am
|
||||
@@ -0,0 +1,35 @@
|
||||
+AM_CFLAGS = $(OPENMP_CFLAGS)
|
||||
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
|
||||
+
|
||||
+EXTRA_DIST = \
|
||||
+ License.txt \
|
||||
+ gpl.txt
|
||||
+
|
||||
+SUPERNODALSRC = \
|
||||
|
@ -1443,152 +1403,155 @@ diff --git a/configure.ac b/configure.ac
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/configure.ac
|
||||
@@ -0,0 +1,216 @@
|
||||
@@ -0,0 +1,217 @@
|
||||
+# -*- Autoconf -*-
|
||||
+# Process this file with autoconf to produce a configure script.
|
||||
+
|
||||
+AC_PREREQ([2.69])
|
||||
+AC_INIT([CHOLMOD],[3.0.6],[DrTimothyAldenDavis@gmail.com],[cholmod],[http://www.suitesparse.com/])
|
||||
+AC_INIT([CHOLMOD],[3.0.11],[DrTimothyAldenDavis@gmail.com],[cholmod],[http://www.suitesparse.com/])
|
||||
+AC_CONFIG_SRCDIR([Core/cholmod_common.c])
|
||||
+AC_CONFIG_HEADERS([config.h Include/cholmod_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_PROG_AWK
|
||||
+AC_OPENMP
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to build GPL-licensed modules])
|
||||
+AC_ARG_ENABLE([gpl-modules],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-gpl-modules],
|
||||
+ [do not build GPL-licensed modules])],
|
||||
+ [mod_gpl=$enableval],
|
||||
+ [mod_gpl="yes"])
|
||||
+AC_MSG_RESULT([$mod_gpl])
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to build mod-check])
|
||||
+AC_ARG_ENABLE([mod-check],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-mod-check],
|
||||
+ [do not build the Check module])],
|
||||
+ [mod_check=$enableval],
|
||||
+ [mod_check="yes"])
|
||||
+AC_MSG_RESULT([$mod_check])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_mod_check], [yes])])
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to build mod-cholesky])
|
||||
+AC_ARG_ENABLE([mod-cholesky],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-mod-cholesky],
|
||||
+ [do not build the Cholesky module])],
|
||||
+ [mod_cholesky=$enableval],
|
||||
+ [mod_cholesky="yes"])
|
||||
+AC_MSG_RESULT([$mod_cholesky])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_mod_cholesky], [yes])])
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to build mod-partition])
|
||||
+AC_ARG_ENABLE([mod-partition],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-mod-partition],
|
||||
+ [do not build the Partition module])],
|
||||
+ [mod_partition=$enableval],
|
||||
+ [mod_partition="yes"])
|
||||
+AC_MSG_RESULT([$mod_partition])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_mod_partition], [yes])])
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to build mod-matrixops])
|
||||
+AC_ARG_ENABLE([mod-matrixops],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-mod-matrixops],
|
||||
+ [do not build the MatrixOps module])],
|
||||
+ [mod_matrixops=$enableval],
|
||||
+ [mod_matrixops=$mod_gpl])
|
||||
+AC_MSG_RESULT([$mod_matrixops])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_mod_matrixops], [yes])])
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to build mod-modify])
|
||||
+AC_ARG_ENABLE([mod-modify],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-mod-modify],
|
||||
+ [do not build the Modify module])],
|
||||
+ [mod_modify=$enableval],
|
||||
+ [mod_modify=$mod_gpl])
|
||||
+AC_MSG_RESULT([$mod_modify])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_mod_modify], [yes])])
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to build mod-supernodal])
|
||||
+AC_ARG_ENABLE([mod-supernodal],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-mod-supernodal],
|
||||
+ [do not build the Supernodal module])],
|
||||
+ [mod_supernodal=$enableval],
|
||||
+ [mod_supernodal=$mod_gpl])
|
||||
+AC_MSG_RESULT([$mod_supernodal])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_mod_supernodal], [yes])])
|
||||
+
|
||||
+AC_ARG_ENABLE([gpl-modules],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-gpl-modules],
|
||||
+ [do not build GPL-licensed modules])],
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_gpl_modules], [yes])])
|
||||
+
|
||||
+AC_MSG_CHECKING([whether to use timing routines])
|
||||
+AC_ARG_ENABLE([timing],
|
||||
+ [AS_HELP_STRING(
|
||||
+ [--disable-timing],
|
||||
+ [do not use timing routines])],
|
||||
+ [timing=$enableval],
|
||||
+ [timing="yes"])
|
||||
+AC_MSG_RESULT([$timing])
|
||||
+ [],
|
||||
+ [AS_VAR_SET([enable_timing], [yes])])
|
||||
+
|
||||
+LIBS_SAVED=$LIBS
|
||||
+AS_VAR_SET([LIBS_SAVED], [$LIBS])
|
||||
+
|
||||
+# Checks for libraries.
|
||||
+AC_CHECK_LIB([m], [sqrt])
|
||||
+
|
||||
+PKG_PROG_PKG_CONFIG
|
||||
+PKG_CHECK_MODULES([SUITESPARSECONFIG],[suitesparseconfig],
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find suitesparseconfig])])
|
||||
+CHOLMOD_REQUIRES="suitesparseconfig"
|
||||
+PKG_CHECK_MODULES([SUITESPARSECONFIG], [suitesparseconfig])
|
||||
+AS_VAR_SET([CHOLMOD_REQUIRES], ["suitesparseconfig"])
|
||||
+
|
||||
+if test "x$mod_cholesky" = "xyes"; then
|
||||
+ PKG_CHECK_MODULES([AMD],[amd],
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find amd (required by mod-cholesky)])])
|
||||
+ CHOLMOD_REQUIRES="$CHOLMOD_REQUIRES amd"
|
||||
+AS_IF([test "x$enable_gpl_modules" != "xyes"], [
|
||||
+ AC_DEFINE([NGPL], [], [Define to disable GPL-licensed modules])
|
||||
+ AS_VAR_SET([enable_mod_matrixops], [no])
|
||||
+ AS_VAR_SET([enable_mod_modify], [no])
|
||||
+ AS_VAR_SET([enable_mod_supernodal], [no])
|
||||
+])
|
||||
+
|
||||
+ PKG_CHECK_MODULES([COLAMD],[colamd],
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find colamd (required by mod-cholesky)])])
|
||||
+ CHOLMOD_REQUIRES="$CHOLMOD_REQUIRES colamd"
|
||||
+fi
|
||||
+AS_IF([test "x$enable_mod_check" != "xyes"], [
|
||||
+ AC_DEFINE([NCHECK], [], [Define to disable the Check module])
|
||||
+])
|
||||
+
|
||||
+if test "x$mod_partition" = "xyes"; then
|
||||
+ PKG_CHECK_MODULES([CAMD],[camd],
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find camd (required by mod-partition)])])
|
||||
+ CHOLMOD_REQUIRES="$CHOLMOD_REQUIRES camd"
|
||||
+AS_IF([test "x$enable_mod_cholesky" != "xyes"], [
|
||||
+ AC_DEFINE([NCHOLESKY], [], [Define to disable the Cholesky module])
|
||||
+], [
|
||||
+ PKG_CHECK_MODULES([AMD], [amd],
|
||||
+ [AS_VAR_APPEND([CHOLMOD_REQUIRES], [" amd"])],
|
||||
+ [AC_MSG_ERROR([$AMD_PKG_ERRORS (required by mod-cholesky)])])
|
||||
+
|
||||
+ PKG_CHECK_MODULES([CCOLAMD],[ccolamd],
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find ccolamd (required by mod-partition)])])
|
||||
+ CHOLMOD_REQUIRES="$CHOLMOD_REQUIRES ccolamd"
|
||||
+ PKG_CHECK_MODULES([COLAMD], [colamd],
|
||||
+ [AS_VAR_APPEND([CHOLMOD_REQUIRES], [" colamd"])],
|
||||
+ [AC_MSG_ERROR([$COLAMD_PKG_ERRORS (required by mod-cholesky)])])
|
||||
+])
|
||||
+
|
||||
+ PKG_CHECK_MODULES([METIS],[metis],
|
||||
+ [metis="yes"],
|
||||
+ [metis="no"])
|
||||
+ if test "x$metis" = "xyes"; then
|
||||
+ CHOLMOD_REQUIRES="$CHOLMOD_REQUIRES metis"
|
||||
+ else
|
||||
+ AC_MSG_WARN([cannot find metis (used by mod-partition), disabling some functionality])
|
||||
+ fi
|
||||
+fi
|
||||
+AS_IF([test "x$enable_mod_partition" != "xyes"], [
|
||||
+ AC_DEFINE([NCAMD], [], [Define to disable the Partition module])
|
||||
+], [
|
||||
+ PKG_CHECK_MODULES([CAMD], [camd],
|
||||
+ [AS_VAR_APPEND([CHOLMOD_REQUIRES], [" camd"])],
|
||||
+ [AC_MSG_ERROR([$CAMD_PKG_ERRORS (required by mod-partition)])])
|
||||
+
|
||||
+if test "x$mod_supernodal" = "xyes"; then
|
||||
+ PKG_CHECK_MODULES([CCOLAMD], [ccolamd],
|
||||
+ [AS_VAR_APPEND([CHOLMOD_REQUIRES], [" ccolamd"])],
|
||||
+ [AC_MSG_ERROR([$CCOLAMD_PKG_ERRORS (required by mod-partition)])])
|
||||
+
|
||||
+ PKG_CHECK_MODULES([METIS], [metis >= 5.1.0],
|
||||
+ [AS_VAR_SET([have_metis], [yes])
|
||||
+ AS_VAR_APPEND([CHOLMOD_REQUIRES], [" metis >= 5.1.0"])],
|
||||
+ [AS_VAR_SET([have_metis], [no])
|
||||
+ AC_MSG_WARN([$METIS_PKG_ERRORS (used by mod-partition), disabling some functionality])])
|
||||
+])
|
||||
+
|
||||
+AS_IF([test "x$have_metis" != "xyes"], [
|
||||
+ AC_DEFINE([NPARTITION], [], [Define to disable METIS support in the Partition module])
|
||||
+])
|
||||
+
|
||||
+AS_IF([test "x$enable_mod_matrixops" != "xyes"], [
|
||||
+ AC_DEFINE([NMATRIXOPS], [], [Define to disable the MatrixOps module])
|
||||
+])
|
||||
+
|
||||
+AS_IF([test "x$enable_mod_modify" != "xyes"], [
|
||||
+ AC_DEFINE([NMODIFY], [], [Define to disable the Modify module])
|
||||
+])
|
||||
+
|
||||
+AS_IF([test "x$enable_mod_supernodal" != "xyes"], [
|
||||
+ AC_DEFINE([NSUPERNODAL], [], [Define to disable the Supernodal module])
|
||||
+], [
|
||||
+ sinclude([ax_blas.m4])
|
||||
+ AX_BLAS
|
||||
+ if test "x$ax_blas_ok" != "xyes"; then
|
||||
+ AC_MSG_ERROR([cannot find blas (required by mod-supernodal)])
|
||||
+ fi
|
||||
+ AX_BLAS(
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find BLAS (required by mod-supernodal)])])
|
||||
+
|
||||
+ sinclude([ax_lapack.m4])
|
||||
+ AX_LAPACK
|
||||
+ if test "x$ax_lapack_ok" != "xyes"; then
|
||||
+ AC_MSG_ERROR([cannot find lapack (required by mod-supernodal)])
|
||||
+ fi
|
||||
+fi
|
||||
+ AX_LAPACK(
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([cannot find LAPACK (required by mod-supernodal)])])
|
||||
+])
|
||||
+
|
||||
+# Checks for header files.
|
||||
+AC_CHECK_HEADERS([float.h limits.h stddef.h stdlib.h string.h])
|
||||
|
@ -1600,50 +1563,47 @@ new file mode 100644
|
|||
+AC_FUNC_MALLOC
|
||||
+AC_CHECK_FUNCS([sqrt])
|
||||
+
|
||||
+LIBS=$LIBS_SAVED
|
||||
+AS_VAR_SET([LIBS], [$LIBS_SAVED])
|
||||
+
|
||||
+if test "x$mod_check" != "xyes"; then
|
||||
+ AC_DEFINE([NCHECK], [], [Define to disable the Check module])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-check])
|
||||
+AC_MSG_RESULT([$enable_mod_check])
|
||||
+AM_CONDITIONAL([MOD_CHECK], [test "x$enable_mod_check" = "xyes"])
|
||||
+
|
||||
+if test "x$mod_cholesky" != "xyes"; then
|
||||
+ AC_DEFINE([NCHOLESKY], [], [Define to disable the Cholesky module])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-cholesky])
|
||||
+AC_MSG_RESULT([$enable_mod_cholesky])
|
||||
+AM_CONDITIONAL([MOD_CHOLESKY], [test "x$enable_mod_cholesky" = "xyes"])
|
||||
+
|
||||
+if test "x$mod_partition" != "xyes"; then
|
||||
+ AC_DEFINE([NCAMD], [], [Define to disable the Partition module])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-partition])
|
||||
+AC_MSG_RESULT([$enable_mod_partition])
|
||||
+AM_CONDITIONAL([MOD_PARTITION], [test "x$enable_mod_partition" = "xyes"])
|
||||
+
|
||||
+if test "x$metis" != "xyes"; then
|
||||
+ AC_DEFINE([NPARTITION], [], [Define to disable metis support in the Partition module])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-partition with METIS])
|
||||
+AC_MSG_RESULT([$have_metis])
|
||||
+AM_CONDITIONAL([MOD_PARTITION_METIS], [test "x$have_metis" = "xyes"])
|
||||
+
|
||||
+if test "x$mod_gpl" != "xyes"; then
|
||||
+ AC_DEFINE([NGPL], [], [Define to disable GPL-licensed modules])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-matrixops])
|
||||
+AC_MSG_RESULT([$enable_mod_matrixops])
|
||||
+AM_CONDITIONAL([MOD_MATRIXOPS], [test "x$enable_mod_matrixops" = "xyes"])
|
||||
+
|
||||
+if test "x$mod_matrixops" != "xyes"; then
|
||||
+ AC_DEFINE([NMATRIXOPS], [], [Define to disable the MatrixOps module])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-modify])
|
||||
+AC_MSG_RESULT([$enable_mod_modify])
|
||||
+AM_CONDITIONAL([MOD_MODIFY], [test "x$enable_mod_modify" = "xyes"])
|
||||
+
|
||||
+if test "x$mod_modify" != "xyes"; then
|
||||
+ AC_DEFINE([NMODIFY], [], [Define to disable the Modify module])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-supernodal])
|
||||
+AC_MSG_RESULT([$enable_mod_supernodal])
|
||||
+AM_CONDITIONAL([MOD_SUPERNODAL], [test "x$enable_mod_supernodal" = "xyes"])
|
||||
+
|
||||
+if test "x$mod_supernodal" != "xyes"; then
|
||||
+ AC_DEFINE([NSUPERNODAL], [], [Define to disable the Supernodal module])
|
||||
+fi
|
||||
+AC_MSG_CHECKING([whether to build mod-gpu])
|
||||
+AC_MSG_RESULT([no])
|
||||
+AM_CONDITIONAL([MOD_GPU], [false])
|
||||
+
|
||||
+AM_CONDITIONAL([MOD_CHECK], [test "x$mod_check" = "xyes"])
|
||||
+AM_CONDITIONAL([MOD_CHOLESKY], [test "x$mod_cholesky" = "xyes"])
|
||||
+AM_CONDITIONAL([MOD_PARTITION], [test "x$mod_partition" = "xyes"])
|
||||
+AM_CONDITIONAL([MOD_MATRIXOPS], [test "x$mod_matrixops" = "xyes"])
|
||||
+AM_CONDITIONAL([MOD_MODIFY], [test "x$mod_modify" = "xyes"])
|
||||
+AM_CONDITIONAL([MOD_SUPERNODAL], [test "x$mod_supernodal" = "xyes"])
|
||||
+AM_CONDITIONAL([TIMING], [test "x$timing" = "xyes"])
|
||||
+AC_MSG_CHECKING([whether to use timing routines])
|
||||
+AC_MSG_RESULT([$enable_timing])
|
||||
+AM_CONDITIONAL([TIMING], [test "x$enable_timing" = "xyes"])
|
||||
+
|
||||
+AC_SUBST([CHOLMOD_REQUIRES])
|
||||
+
|
||||
+PKG_INSTALLDIR
|
||||
+AC_CONFIG_FILES([
|
||||
+ cholmod.pc
|
||||
+ Makefile
|
||||
|
@ -1658,5 +1618,6 @@ new file mode 100644
|
|||
+ MatrixOps/Makefile
|
||||
+ Modify/Makefile
|
||||
+ Partition/Makefile
|
||||
+ Supernodal/Makefile])
|
||||
+ Supernodal/Makefile
|
||||
+])
|
||||
+AC_OUTPUT
|
Loading…
Reference in a new issue