diff options
-rw-r--r-- | academic/cholmod/README | 10 | ||||
-rw-r--r-- | academic/cholmod/atlas-threaded-blas.diff | 26 | ||||
-rw-r--r-- | academic/cholmod/cholmod.SlackBuild | 28 | ||||
-rw-r--r-- | academic/cholmod/cholmod.info | 6 | ||||
-rw-r--r-- | academic/cholmod/patches/atlas-lib-rename.diff | 21 | ||||
-rw-r--r-- | academic/cholmod/patches/autotoolize.diff (renamed from academic/cholmod/autotoolize.diff) | 383 |
6 files changed, 221 insertions, 253 deletions
diff --git a/academic/cholmod/README b/academic/cholmod/README index ebbb152bc3..46350dc390 100644 --- a/academic/cholmod/README +++ b/academic/cholmod/README @@ -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. diff --git a/academic/cholmod/atlas-threaded-blas.diff b/academic/cholmod/atlas-threaded-blas.diff deleted file mode 100644 index e7f34ef011..0000000000 --- a/academic/cholmod/atlas-threaded-blas.diff +++ /dev/null @@ -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) diff --git a/academic/cholmod/cholmod.SlackBuild b/academic/cholmod/cholmod.SlackBuild index 9b04c77c05..b3f38eb486 100644 --- a/academic/cholmod/cholmod.SlackBuild +++ b/academic/cholmod/cholmod.SlackBuild @@ -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 diff --git a/academic/cholmod/cholmod.info b/academic/cholmod/cholmod.info index 6c6c72a93a..de2d55fc51 100644 --- a/academic/cholmod/cholmod.info +++ b/academic/cholmod/cholmod.info @@ -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" diff --git a/academic/cholmod/patches/atlas-lib-rename.diff b/academic/cholmod/patches/atlas-lib-rename.diff new file mode 100644 index 0000000000..4801036f46 --- /dev/null +++ b/academic/cholmod/patches/atlas-lib-rename.diff @@ -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) diff --git a/academic/cholmod/autotoolize.diff b/academic/cholmod/patches/autotoolize.diff index 14fd099f88..4b2828cd27 100644 --- a/academic/cholmod/autotoolize.diff +++ b/academic/cholmod/patches/autotoolize.diff @@ -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([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 ++ PKG_CHECK_MODULES([COLAMD], [colamd], ++ [AS_VAR_APPEND([CHOLMOD_REQUIRES], [" colamd"])], ++ [AC_MSG_ERROR([$COLAMD_PKG_ERRORS (required by mod-cholesky)])]) ++]) ++ ++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)])]) ++ ++ 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]) ++]) + -+if test "x$mod_supernodal" = "xyes"; then ++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 |