From: bangerth
Date: Sun, 19 Oct 2008 02:21:10 +0000 (+0000)
Subject: Patch by Christophe Trophime: allow using --with-XX-include and --with-XX-lib for...
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ca05081aafa5b7bc08a01983f094b0c0b9217d1;p=dealii-svn.git
Patch by Christophe Trophime: allow using --with-XX-include and --with-XX-lib for XX={trilinos,metis,umfpack,netcdf} so that one can configure with libraries that have been installed in /usr or /opt.
git-svn-id: https://svn.dealii.org/trunk@17277 0785d39b-7218-0410-832d-ea1e28bc413d
---
diff --git a/deal.II/aclocal.m4 b/deal.II/aclocal.m4
index df5be0a90a..a2a79f1bdc 100644
--- a/deal.II/aclocal.m4
+++ b/deal.II/aclocal.m4
@@ -5136,38 +5136,74 @@ AC_DEFUN(DEAL_II_CONFIGURE_NETCDF, dnl
fi
])
+ AC_ARG_WITH(netcdf-include,
+ [ --with-netcdf-include=/path/to/netcdf Specify the path to the NetCDF headers file;
+ use this if you want to override the
+ NETCDF_INCLUDE_DIR environment variable.],
+ [
+ NETCDF_INCLUDE_DIR=$withval
+ ])
+
+ AC_ARG_WITH(netcdf-libs,
+ [ --with-netcdf-libs=/path/to/netcdf Specify the path to the NetCDF libraries;
+ use this if you want to override the
+ NETCDF_LIBDIR environment variable.],
+ [
+ NETCDF_LIBDIR=$withval
+ ])
+
+
if test "x$DEAL_II_NETCDF_DIR" != "x" ; then
- CPPFLAGS="-I$DEAL_II_NETCDF_DIR/include $CPPFLAGS"
- CXXFLAGS="-I$DEAL_II_NETCDF_DIR/include $CXXFLAGS"
- LDFLAGS="-L$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
- if test "$LD_PATH_OPTION" != "no" ; then
- LDFLAGS="$LD_PATH_OPTION$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
+ if test "x$NETCDF_INCLUDE_DIR" != "x" ; then
+ CPPFLAGS="-I$NETCDF_INCLUDE_DIR $CPPFLAGS"
+ CXXFLAGS="-I$NETCDF_INCLUDE_DIR $CXXFLAGS"
+ else
+ CPPFLAGS="-I$DEAL_II_NETCDF_DIR/include $CPPFLAGS"
+ CXXFLAGS="-I$DEAL_II_NETCDF_DIR/include $CXXFLAGS"
+ fi
+ if test "x$NETCDF_LIBDIR" != "x" ; then
+ LDFLAGS="$LDFLAGS -L$NETCDF_LIBDIR"
+ else
+ LDFLAGS="-L$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
+ if test "$LD_PATH_OPTION" != "no" ; then
+ LDFLAGS="$LD_PATH_OPTION$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
+ fi
+ fi
+ else
+ if test "x$NETCDF_INCLUDE_DIR" != "x" ; then
+ CPPFLAGS="-I$NETCDF_INCLUDE_DIR $CPPFLAGS"
+ CXXFLAGS="-I$NETCDF_INCLUDE_DIR $CXXFLAGS"
+ fi
+ if test "x$NETCDF_LIBDIR" != "x" ; then
+ LDFLAGS="$LDFLAGS -L$NETCDF_LIBDIR"
fi
fi
dnl Check for header, if found check for C library,
dnl if found check for C++ library,
dnl if successful, HAVE_LIBNETCDF will be set
- AC_CHECK_HEADER(netcdfcpp.h, AC_CHECK_LIB(netcdf, nc_open,
- [ DEAL_II_EXTERNAL_LIBS_SAVE_VAL()
- DEAL_II_ADD_EXTERNAL_LIBS_AT_FRONT(-lnetcdf_c++ -lnetcdf)
- AC_MSG_CHECKING([for NcFile::NcFile in -lnetcdf_c++])
- AC_LINK_IFELSE(
- [ AC_LANG_PROGRAM([[#include
- ]],
- [[NcFile test("test")]])
- ],
- [ AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_LIBNETCDF,1,[Define to 1 if you have the `NetCDF' library (-lnetcdf).])
- ],
- [ AC_MSG_RESULT(no)
- DEAL_II_EXTERNAL_LIBS_RESTORE_VAL()
- ])
- ]))
+ AC_CHECK_HEADER(netcdfcpp.h)
+
+ AC_CHECK_LIB(netcdf, nc_open,
+ [ DEAL_II_EXTERNAL_LIBS_SAVE_VAL()
+ DEAL_II_ADD_EXTERNAL_LIBS_AT_FRONT(-lnetcdf_c++ -lnetcdf)
+ AC_MSG_CHECKING([for NcFile::NcFile in -lnetcdf_c++])
+ AC_LINK_IFELSE(
+ [ AC_LANG_PROGRAM([[#include
+ ]],
+ [[NcFile test("test")]])
+ ],
+ [ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_LIBNETCDF,1,[Define to 1 if you have the `NetCDF' library (-lnetcdf).])
+ ],
+ [ AC_MSG_RESULT(no)
+ DEAL_II_EXTERNAL_LIBS_RESTORE_VAL()
+ ])
+ ])
+
])
-
dnl ------------------------------------------------------------
dnl Check whether PETSc is installed, and if so store the
dnl respective links
@@ -5403,9 +5439,8 @@ dnl
dnl ------------------------------------------------------------
AC_DEFUN(DEAL_II_CONFIGURE_TRILINOS, dnl
[
- AC_MSG_CHECKING(for Trilinos library directory)
-
- AC_ARG_WITH(trilinos,
+ AC_MSG_CHECKING(for Trilinos directory)
+ AC_ARG_WITH(trilinos,
[ --with-trilinos=/path/to/trilinos Specify the path to the Trilinos installation,
of which the include and lib directories
are subdirs; use this if you want to override
@@ -5426,6 +5461,9 @@ AC_DEFUN(DEAL_II_CONFIGURE_TRILINOS, dnl
AC_MSG_ERROR([Path to Trilinos specified with --with-trilinos does not
point to a complete Trilinos installation])
fi
+
+ DEAL_II_TRILINOS_INCDIR="$DEAL_II_TRILINOS_DIR/include"
+ DEAL_II_TRILINOS_LIBDIR="$DEAL_II_TRILINOS_DIR/lib"
fi
],
[
@@ -5442,6 +5480,8 @@ AC_DEFUN(DEAL_II_CONFIGURE_TRILINOS, dnl
environment variable does not
point to a complete Trilinos installation])
fi
+ DEAL_II_TRILINOS_INCDIR="$DEAL_II_TRILINOS_DIR/include"
+ DEAL_II_TRILINOS_LIBDIR="$DEAL_II_TRILINOS_DIR/lib"
else
USE_CONTRIB_TRILINOS=no
DEAL_II_TRILINOS_DIR=""
@@ -5449,6 +5489,103 @@ AC_DEFUN(DEAL_II_CONFIGURE_TRILINOS, dnl
fi
])
+ AC_MSG_CHECKING(for Trilinos header directory)
+ AC_ARG_WITH(trilinos-include,
+ [ --with-trilinos-include=/path/to/trilinos Specify the path to the Trilinos include;
+ use this if you want to override
+ the TRILINOS_INCDIR environment variable.],
+ [
+ dnl Special case when someone does --with-petsc=no
+ if test "x$withval" = "xno" ; then
+ AC_MSG_RESULT([explicitly disabled])
+ USE_CONTRIB_TRILINOS=no
+ else
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_INCDIR=$withval
+ AC_MSG_RESULT($DEAL_II_TRILINOS_INCDIR)
+
+ dnl Make sure that what was specified is actually correct
+ if test ! -d $DEAL_II_TRILINOS_INCDIR ; then
+ AC_MSG_ERROR([Path to Trilinos specified with --with-trilinos-include does not
+ point to a complete Trilinos installation])
+ fi
+ fi
+ ],
+ [
+ dnl Take something from the environment variables, if it is there
+ if test "x$TRILINOS_INCDIR" != "x" ; then
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_INCDIR="$TRILINOS_INCDIR"
+ AC_MSG_RESULT($DEAL_II_TRILINOS_INCDIR)
+
+ dnl Make sure that what this is actually correct
+ if test ! -d $DEAL_II_TRILINOS_INCDIR ; then
+ AC_MSG_ERROR([The path to Trilinos includes specified in the TRILINOS_INCDIR
+ environment variable does not point to a valid directory])
+ fi
+ else
+ dnl --with-trilinos-include not explicitly specified. do
+ dnl nothing if --with-trilinos has previously been specified,
+ dnl otherwise say no to trilinos
+ if test "x${USE_CONTRIB_TRILINOS}" != "xyes" ; then
+ USE_CONTRIB_TRILINOS=no
+ DEAL_II_TRILINOS_INCDIR=""
+ AC_MSG_RESULT(not found)
+ else
+ AC_MSG_RESULT(not explicitly specified)
+ fi
+ fi
+ ])
+
+ AC_MSG_CHECKING(for Trilinos library directory)
+ AC_ARG_WITH(trilinos-libs,
+ [ --with-trilinos-libs=/path/to/trilinos Specify the path to the Trilinos libraries;
+ use this if you want to override
+ the TRILINOS_LIBDIR environment variable.],
+ [
+ dnl Special case when someone does --with-petsc=no
+ if test "x$withval" = "xno" ; then
+ AC_MSG_RESULT([explicitly disabled])
+ USE_CONTRIB_TRILINOS=no
+ else
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_LIBDIR=$withval
+ AC_MSG_RESULT($DEAL_II_TRILINOS_LIBDIR)
+
+ dnl Make sure that what was specified is actually correct
+ if test ! -d $DEAL_II_TRILINOS_LIBDIR ; then
+ AC_MSG_ERROR([Path to Trilinos libraries with --with-trilinos-libs does not
+ point to a valid directory])
+ fi
+ fi
+ ],
+ [
+ dnl Take something from the environment variables, if it is there
+ if test "x$TRILINOS_DIR" != "x" ; then
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_LIBDIR="$TRILINOS_DIR"
+ AC_MSG_RESULT($DEAL_II_TRILINOS_LIBDIR)
+
+ dnl Make sure that what this is actually correct
+ if test ! -d $DEAL_II_TRILINOS_LIBDIR ; then
+ AC_MSG_ERROR([The path to Trilinos specified in the TRILINOS_LIBDIR
+ environment variable does not
+ point to a complete Trilinos installation])
+ fi
+ else
+ dnl --with-trilinos-include not explicitly specified. do
+ dnl nothing if --with-trilinos has previously been specified,
+ dnl otherwise say no to trilinos
+ if test "x${USE_CONTRIB_TRILINOS}" != "xyes" ; then
+ USE_CONTRIB_TRILINOS=no
+ DEAL_II_TRILINOS_LIBDIR=""
+ AC_MSG_RESULT(not found)
+ else
+ AC_MSG_RESULT(not explicitly specified)
+ fi
+ fi
+ ])
+
dnl If we have found Trilinos, determine and set additional pieces of data
if test "$USE_CONTRIB_TRILINOS" = "yes" ; then
AC_DEFINE(DEAL_II_USE_TRILINOS, 1,
@@ -5500,7 +5637,7 @@ AC_DEFUN(DEAL_II_CHECK_TRILINOS_SHARED_STATIC, dnl
dnl Check using the epetra library since that should always be there
AC_MSG_CHECKING(whether Trilinos uses shared libraries)
- if test -f $DEAL_II_TRILINOS_DIR/lib/libepetra${shared_lib_suffix} ; then
+ if test -f $DEAL_II_TRILINOS_LIBDIR/libepetra${shared_lib_suffix} ; then
AC_MSG_RESULT(yes)
DEAL_II_TRILINOS_SHARED=yes
else
@@ -5508,7 +5645,7 @@ AC_DEFUN(DEAL_II_CHECK_TRILINOS_SHARED_STATIC, dnl
fi
AC_MSG_CHECKING(whether Trilinos uses static libraries)
- if test -f $DEAL_II_TRILINOS_DIR/lib/libepetra${static_lib_suffix} ; then
+ if test -f $DEAL_II_TRILINOS_LIBDIR/libepetra${static_lib_suffix} ; then
AC_MSG_RESULT(yes)
DEAL_II_TRILINOS_STATIC=yes
else
@@ -5612,8 +5749,9 @@ AC_DEFUN(DEAL_II_CHECK_TRILINOS_HEADER_FILES, dnl
OLD_CXXFLAGS="$CXXFLAGS"
OLD_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="-I$DEAL_II_TRILINOS_DIR/include $CPPFLAGS"
- CXXFLAGS="-I$DEAL_II_TRILINOS_DIR/include $CXXFLAGS"
+echo $DEAL_II_TRILINOS_INCDIR
+ CPPFLAGS="-I$DEAL_II_TRILINOS_INCDIR $CPPFLAGS"
+ CXXFLAGS="-I$DEAL_II_TRILINOS_INCDIR $CXXFLAGS"
AC_CHECK_HEADERS([Amesos.h \
AztecOO.h \
AztecOO_Operator.h \
@@ -5672,7 +5810,6 @@ dnl ------------------------------------------------------------
AC_DEFUN(DEAL_II_CONFIGURE_METIS, dnl
[
dnl First check for the Metis directory
- AC_MSG_CHECKING(for Metis library directory)
AC_ARG_WITH(metis,
[ --with-metis=/path/to/metis Specify the path to the Metis installation,
@@ -5689,6 +5826,9 @@ AC_DEFUN(DEAL_II_CONFIGURE_METIS, dnl
AC_MSG_ERROR([Path to Metis specified with --with-metis does not
point to a complete Metis installation])
fi
+
+ DEAL_II_METIS_LIBDIR="$DEAL_II_METIS_DIR/Lib"
+ DEAL_II_METIS_INCDIR="$DEAL_II_METIS_DIR/include"
],
[
dnl Take something from the environment variables, if it is there
@@ -5703,21 +5843,70 @@ AC_DEFUN(DEAL_II_CONFIGURE_METIS, dnl
environment variable does not
point to a complete Metis installation])
fi
+ DEAL_II_METIS_LIBDIR="$DEAL_II_METIS_DIR/Lib"
+ DEAL_II_METIS_INCDIR="$DEAL_II_METIS_DIR/include"
else
USE_CONTRIB_METIS=no
DEAL_II_METIS_DIR=""
- AC_MSG_RESULT(not found)
fi
])
+
+ AC_ARG_WITH(metis-include,
+ [ --with-metis-include=/path/to/metis Specify the path to the METIS headers file;
+ use this if you want to override the
+ METIS_INCLUDE_DIR environment variable.],
+ [
+ METIS_INCLUDE_DIR=$withval
+ DEAL_II_METIS_INCDIR="$METIS_INCLUDE_DIR"
+ ])
+
+ AC_ARG_WITH(metis-libs,
+ [ --with-metis-libs=/path/to/metis Specify the path to the METIS libraries;
+ use this if you want to override the
+ METIS_LIBDIR environment variable.],
+ [
+ USE_CONTRIB_METIS=yes
+ DEAL_II_METIS_LIBDIR=$withval
+ AC_MSG_RESULT($DEAL_II_METIS_LIBDIR)
+
+ dnl Make sure that what was specified is actually correct
+ if test ! -d $DEAL_II_METIS_LIBDIR ; then
+ AC_MSG_ERROR([Path to Metis specified with --with-metis does not
+ point to a complete Metis installation])
+ fi
+ ],
+ [
+ dnl Take something from the environment variables, if it is there
+ if test "x$METIS_LIBDIR" != "x" ; then
+ USE_CONTRIB_METIS=yes
+ DEAL_II_METIS_LIBDIR="$METIS_LIBDIR"
+ AC_MSG_RESULT($DEAL_II_METIS_LIBDIR)
+
+ dnl Make sure that what this is actually correct
+ if test ! -d $DEAL_II_METIS_LIBDIR ; then
+ AC_MSG_ERROR([The path to Metis specified in the METIS_DIR
+ environment variable does not
+ point to a complete Metis installation])
+ fi
+ else
+ dnl Unless --with-metis has been set before, declare that METIS
+ dnl is not desired.
+ if test "x$USE_CONTRIB_METIS" != "xyes" ; then
+ USE_CONTRIB_METIS=no
+ DEAL_II_METIS_LIBDIR=""
+ fi
+ fi
+ ])
+
if test "x$USE_CONTRIB_METIS" = "xyes" ; then
AC_DEFINE(DEAL_II_USE_METIS, 1,
[Defined if a Metis installation was found and is going
to be used])
- LDFLAGS="$LDFLAGS -L$DEAL_II_METIS_DIR -lmetis"
+ LDFLAGS="$LDFLAGS -L$DEAL_II_METIS_LIBDIR -lmetis"
- AC_MSG_CHECKING(for Metis version)
- DEAL_II_METIS_VERSION=`cat $DEAL_II_METIS_DIR/VERSION`
- AC_MSG_RESULT($DEAL_II_METIS_VERSION)
+ dnl AC_MSG_CHECKING(for Metis version)
+ dnl DEAL_II_METIS_VERSION=`cat $DEAL_II_METIS_DIR/VERSION`
+ dnl AC_MSG_RESULT($DEAL_II_METIS_VERSION)
fi
])
@@ -5727,9 +5916,38 @@ dnl What to do if UMFPack is selected
dnl --------------------------------------------------
AC_DEFUN(DEAL_II_WITH_UMFPACK, dnl
[
- if test "x$1" != "xyes" ; then
+ acx_umfpack=no
+
+ AC_ARG_WITH(umfpack,
+ [ --with-umfpack=umfpack-root-directory Use installed UMFPack version.
+ 'umfpack-root-directory' should be the directory
+ containing directories AMD and UMFPACK. The
+ contributed UMFPack library is used if no argument
+ is given. Default is not to use UMFPack.],
+ [
+ UMFPACK_DIR=$withval
+ ])
+
+ AC_ARG_WITH(umfpack-include,
+ [ --with-umfpack-include=/path/to/UMFPACK Specify the path to the UMFPACK headers file;
+ use this if you want to override the
+ UMFPACK_INCDIR environment variable.],
+ [
+ UMFPACK_INCDIR=$withval
+ acx_umfpack=yes
+ ])
+
+ AC_ARG_WITH(umfpack-libs,
+ [ --with-umfpack-libs=/path/to/UMFPACK Specify the path to the UMFPACK libraries;
+ use this if you want to override the
+ UMFPACK_LIBDIR environment variable.],
+ [
+ UMFPACK_LIBDIR=$withval
+ acx_umfpack=yes
+ ])
+
+ if test "x$UMFPACK_DIR" != "x" -a "x$acs_umfpack" == "xno" ; then
dnl A pathname has been given to --with-umfpack
- UMFPACK_DIR=$1
dnl Try old naming scheme for umfpack/amd libraries (before
dnl Tim Davis incorporated everything into SuiteSparse)
@@ -5847,11 +6065,69 @@ AC_DEFUN(DEAL_II_WITH_UMFPACK, dnl
else
- dnl Use the umfpack version we package with deal.II
- AC_MSG_CHECKING(UmfPack library)
- UMFPACK_INCLUDE_DIR='-I$D/contrib/umfpack/UMFPACK/Include'
- USE_CONTRIB_UMFPACK='yes'
- AC_MSG_RESULT(using included version)
+ if test "x$UMFPACK_INCDIR" != "x" ; then
+ UMFPACK_INCLUDE_DIR="-I${UMFPACK_INCDIR}"
+ OLD_CXXFLAGS="$CXXFLAGS"
+ OLD_CPPFLAGS="$CPPFLAGS"
+ CXXFLAGS="-I$UMFPACK_INCDIR $CXXFLAGS"
+ CPPFLAGS="-I$UMFPACK_INCDIR $CPPFLAGS"
+ AC_CHECK_HEADER(
+ [umfpack.h],
+ [],
+ [AC_MSG_ERROR(installation of UMFPACK could not be determined)]
+ )
+ AC_CHECK_HEADER([amd.h], [], [AC_MSG_ERROR(installation of UMFPACK could not be determined)])
+ AC_CHECK_HEADER([UFconfig.h], [], [AC_MSG_ERROR(installation of UMFPACK could not be determined)])
+
+ if test "x$UMFPACK_LIBDIR" != "x" ; then
+ AC_CHECK_LIB(
+ [amd],
+ [amd_info],
+ [
+ DEAL_II_ADD_EXTERNAL_LIBS_AT_TAIL(-lamd)
+ if test "$LD_PATH_OPTION" != "no"; then
+ LDFLAGS="$LD_PATH_OPTION${UMFPACK_LIBDIR} $LDFLAGS"
+ fi
+ ],
+ [AC_MSG_ERROR(installation of AMD could not be determined)]
+ )
+ AC_CHECK_LIB(
+ [umfpack],
+ [umfpack_di_defaults],
+ [
+ DEAL_II_ADD_EXTERNAL_LIBS_AT_TAIL(-lumfpack)
+ if test "$LD_PATH_OPTION" != "no"; then
+ LDFLAGS="$LD_PATH_OPTION${UMFPACK_LIBDIR} $LDFLAGS"
+ fi
+ ],
+ [AC_MSG_ERROR(installation of UMFPACK could not be determined)]
+ )
+ else
+ AC_CHECK_LIB(
+ [amd],
+ [amd_info],
+ [
+ DEAL_II_ADD_EXTERNAL_LIBS_AT_TAIL(-lamd)
+ ],
+ [AC_MSG_ERROR(installation of AMD could not be determined)]
+ )
+ AC_CHECK_LIB(
+ [umfpack],
+ [umfpack_di_defaults],
+ [
+ DEAL_II_ADD_EXTERNAL_LIBS_AT_TAIL(-lumfpack)
+ ],
+ [AC_MSG_ERROR(installation of UMFPACK could not be determined)]
+ )
+ fi
+
+ else
+ dnl Use the umfpack version we package with deal.II
+ AC_MSG_CHECKING(UmfPack library)
+ UMFPACK_INCLUDE_DIR='-I$D/contrib/umfpack/UMFPACK/Include'
+ USE_CONTRIB_UMFPACK='yes'
+ AC_MSG_RESULT(using included version)
+ fi
fi
AC_DEFINE(HAVE_LIBUMFPACK,1,[UMFPACK is $1])
diff --git a/deal.II/common/Make.global_options.in b/deal.II/common/Make.global_options.in
index 14a560f88c..968eb95a7b 100644
--- a/deal.II/common/Make.global_options.in
+++ b/deal.II/common/Make.global_options.in
@@ -55,12 +55,14 @@ DEAL_II_PETSC_VERSION_SUBMINOR = @DEAL_II_PETSC_VERSION_SUBMINOR@
DEAL_II_PETSC_MPIUNI_LIB = @DEAL_II_PETSC_MPIUNI_LIB@
USE_CONTRIB_TRILINOS = @USE_CONTRIB_TRILINOS@
-DEAL_II_TRILINOS_DIR = @DEAL_II_TRILINOS_DIR@
+DEAL_II_TRILINOS_INCDIR = @DEAL_II_TRILINOS_INCDIR@
+DEAL_II_TRILINOS_LIBDIR = @DEAL_II_TRILINOS_LIBDIR@
DEAL_II_TRILINOS_SHARED = @DEAL_II_TRILINOS_SHARED@
DEAL_II_TRILINOS_STATIC = @DEAL_II_TRILINOS_STATIC@
USE_CONTRIB_METIS = @USE_CONTRIB_METIS@
-DEAL_II_METIS_DIR = @DEAL_II_METIS_DIR@
+DEAL_II_METIS_INCDIR = @DEAL_II_METIS_INCDIR@
+DEAL_II_METIS_LIBDIR = @DEAL_II_METIS_LIBDIR@
USE_CONTRIB_HSL = @USE_CONTRIB_HSL@
USE_CONTRIB_UMFPACK = @USE_CONTRIB_UMFPACK@
@@ -184,7 +186,7 @@ endif
include-path-petsc = $(DEAL_II_PETSC_DIR)/include
include-path-petsc-bmake = $(DEAL_II_PETSC_DIR)/bmake/$(DEAL_II_PETSC_ARCH)
-include-path-trilinos = $(DEAL_II_TRILINOS_DIR)/include
+include-path-trilinos = $(DEAL_II_TRILINOS_INCDIR)
include-path-metis = $(DEAL_II_METIS_DIR)/Lib
# include paths as command line flags. while compilers allow a space between
@@ -214,13 +216,46 @@ ifeq ($(USE_CONTRIB_TRILINOS),yes)
INCLUDE += -I$(include-path-trilinos)
ifeq ($(enable-shared),yes)
- lib-contrib-trilinos = $(shell echo $(DEAL_II_TRILINOS_DIR)/lib/*$(shared-lib-suffix))
+ lib-contrib-trilinos = \
+ -laztecoo \
+ -lbelos \
+ -lepetra \
+ -lepetraext \
+ -lifpack \
+ -lml \
+ -lrtop \
+ -lsacado \
+ -lstratimikos \
+ -lstratimikosaztecoo \
+ -lstratimikosifpack \
+ -lstratimikosml \
+ -lteuchos \
+ -lthyra \
+ -lthyraepetra \
+ -lthyraepetraext \
+ -ltriutils
else
- lib-contrib-trilinos = $(shell echo $(DEAL_II_TRILINOS_DIR)/lib/*$(static-lib-suffix))
+ lib-contrib-trilinos = \
+ $(DEAL_II_TRILINOS_LIBDIR)/libaztecoo.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libbelos.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libepetra.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libepetraext.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libifpack.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libml.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/librtop.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libsacado.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libstratimikos.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libstratimikosaztecoo.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libstratimikosifpack.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libstratimikosml.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libteuchos.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libthyra.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libthyraepetra.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libthyraepetraext.a \
+ $(DEAL_II_TRILINOS_LIBDIR)/libtriutils.a
endif
- lib-lac.g += $(lib-contrib-trilinos)
- lib-lac.o += $(lib-contrib-trilinos)
+ LDFLAGS += $(lib-contrib-trilinos)
endif
ifeq ($(USE_CONTRIB_METIS),yes)
diff --git a/deal.II/configure b/deal.II/configure
index 4348c1e48f..427d716f6d 100755
--- a/deal.II/configure
+++ b/deal.II/configure
@@ -727,7 +727,8 @@ DEAL_II_EXPAND_TRILINOS_MPI_VECTOR
DEAL_II_EXPAND_TRILINOS_BLOCKVECTOR
DEAL_II_EXPAND_TRILINOS_MPI_BLOCKVECTOR
USE_CONTRIB_TRILINOS
-DEAL_II_TRILINOS_DIR
+DEAL_II_TRILINOS_INCDIR
+DEAL_II_TRILINOS_LIBDIR
DEAL_II_TRILINOS_SHARED
DEAL_II_TRILINOS_STATIC
NEEDS_F77LIBS
@@ -735,7 +736,8 @@ HSL_INCLUDE_DIR
USE_CONTRIB_HSL
TECPLOT_INCLUDE_DIR
USE_CONTRIB_METIS
-DEAL_II_METIS_DIR
+DEAL_II_METIS_INCDIR
+DEAL_II_METIS_LIBDIR
UMFPACK_LIB
UMFPACK_INCLUDE_DIR
USE_CONTRIB_UMFPACK
@@ -1364,6 +1366,12 @@ Optional Packages:
of which the include and lib directories
are subdirs; use this if you want to override
the TRILINOS_DIR environment variable.
+ --with-trilinos-include=/path/to/trilinos Specify the path to the Trilinos include;
+ use this if you want to override
+ the TRILINOS_INCDIR environment variable.
+ --with-trilinos-libs=/path/to/trilinos Specify the path to the Trilinos libraries;
+ use this if you want to override
+ the TRILINOS_LIBDIR environment variable.
--with-blas=blaslib use the blas library blaslib. Make sure
the path to the libary is searched by ld, since
it is included by the argument -lblaslib. If no
@@ -1376,15 +1384,33 @@ Optional Packages:
of which the include and library directories are
subdirs; use this if you want to override the
NETCDF_DIR environment variable.
+ --with-netcdf-include=/path/to/netcdf Specify the path to the NetCDF headers file;
+ use this if you want to override the
+ NETCDF_INCLUDE_DIR environment variable.
+ --with-netcdf-libs=/path/to/netcdf Specify the path to the NetCDF libraries;
+ use this if you want to override the
+ NETCDF_LIBDIR environment variable.
--with-metis=/path/to/metis Specify the path to the Metis installation,
of which the include and library directories
are subdirs; use this if you want to override
the METIS_DIR environment variable.
+ --with-metis-include=/path/to/metis Specify the path to the METIS headers file;
+ use this if you want to override the
+ METIS_INCLUDE_DIR environment variable.
+ --with-metis-libs=/path/to/metis Specify the path to the METIS libraries;
+ use this if you want to override the
+ METIS_LIBDIR environment variable.
--with-umfpack=umfpack-root-directory Use installed UMFPack version.
'umfpack-root-directory' should be the directory
containing directories AMD and UMFPACK. The
contributed UMFPack library is used if no argument
is given. Default is not to use UMFPack.
+ --with-umfpack-include=/path/to/UMFPACK Specify the path to the UMFPACK headers file;
+ use this if you want to override the
+ UMFPACK_INCDIR environment variable.
+ --with-umfpack-libs=/path/to/UMFPACK Specify the path to the UMFPACK libraries;
+ use this if you want to override the
+ UMFPACK_LIBDIR environment variable.
--with-lapack=lapacklib use the lapack library lapacklib. Make sure
the path to the libary is searched by ld, since it
is included by the argument -llapacklib. If no
@@ -12106,9 +12132,8 @@ echo "${ECHO_T}$DEAL_II_PETSC_MPIUNI_LIB" >&6; }
- { echo "$as_me:$LINENO: checking for Trilinos library directory" >&5
-echo $ECHO_N "checking for Trilinos library directory... $ECHO_C" >&6; }
-
+ { echo "$as_me:$LINENO: checking for Trilinos directory" >&5
+echo $ECHO_N "checking for Trilinos directory... $ECHO_C" >&6; }
# Check whether --with-trilinos was given.
if test "${with_trilinos+set}" = set; then
@@ -12131,6 +12156,9 @@ echo "$as_me: error: Path to Trilinos specified with --with-trilinos does not
point to a complete Trilinos installation" >&2;}
{ (exit 1); exit 1; }; }
fi
+
+ DEAL_II_TRILINOS_INCDIR="$DEAL_II_TRILINOS_DIR/include"
+ DEAL_II_TRILINOS_LIBDIR="$DEAL_II_TRILINOS_DIR/lib"
fi
else
@@ -12151,6 +12179,8 @@ echo "$as_me: error: The path to Trilinos specified in the TRILINOS_DIR
point to a complete Trilinos installation" >&2;}
{ (exit 1); exit 1; }; }
fi
+ DEAL_II_TRILINOS_INCDIR="$DEAL_II_TRILINOS_DIR/include"
+ DEAL_II_TRILINOS_LIBDIR="$DEAL_II_TRILINOS_DIR/lib"
else
USE_CONTRIB_TRILINOS=no
DEAL_II_TRILINOS_DIR=""
@@ -12161,6 +12191,118 @@ echo "${ECHO_T}not found" >&6; }
fi
+ { echo "$as_me:$LINENO: checking for Trilinos header directory" >&5
+echo $ECHO_N "checking for Trilinos header directory... $ECHO_C" >&6; }
+
+# Check whether --with-trilinos-include was given.
+if test "${with_trilinos_include+set}" = set; then
+ withval=$with_trilinos_include;
+ if test "x$withval" = "xno" ; then
+ { echo "$as_me:$LINENO: result: explicitly disabled" >&5
+echo "${ECHO_T}explicitly disabled" >&6; }
+ USE_CONTRIB_TRILINOS=no
+ else
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_INCDIR=$withval
+ { echo "$as_me:$LINENO: result: $DEAL_II_TRILINOS_INCDIR" >&5
+echo "${ECHO_T}$DEAL_II_TRILINOS_INCDIR" >&6; }
+
+ if test ! -d $DEAL_II_TRILINOS_INCDIR ; then
+ { { echo "$as_me:$LINENO: error: Path to Trilinos specified with --with-trilinos-include does not
+ point to a complete Trilinos installation" >&5
+echo "$as_me: error: Path to Trilinos specified with --with-trilinos-include does not
+ point to a complete Trilinos installation" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+
+else
+
+ if test "x$TRILINOS_INCDIR" != "x" ; then
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_INCDIR="$TRILINOS_INCDIR"
+ { echo "$as_me:$LINENO: result: $DEAL_II_TRILINOS_INCDIR" >&5
+echo "${ECHO_T}$DEAL_II_TRILINOS_INCDIR" >&6; }
+
+ if test ! -d $DEAL_II_TRILINOS_INCDIR ; then
+ { { echo "$as_me:$LINENO: error: The path to Trilinos includes specified in the TRILINOS_INCDIR
+ environment variable does not point to a valid directory" >&5
+echo "$as_me: error: The path to Trilinos includes specified in the TRILINOS_INCDIR
+ environment variable does not point to a valid directory" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ if test "x${USE_CONTRIB_TRILINOS}" != "xyes" ; then
+ USE_CONTRIB_TRILINOS=no
+ DEAL_II_TRILINOS_INCDIR=""
+ { echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: not explicitly specified" >&5
+echo "${ECHO_T}not explicitly specified" >&6; }
+ fi
+ fi
+
+fi
+
+
+ { echo "$as_me:$LINENO: checking for Trilinos library directory" >&5
+echo $ECHO_N "checking for Trilinos library directory... $ECHO_C" >&6; }
+
+# Check whether --with-trilinos-libs was given.
+if test "${with_trilinos_libs+set}" = set; then
+ withval=$with_trilinos_libs;
+ if test "x$withval" = "xno" ; then
+ { echo "$as_me:$LINENO: result: explicitly disabled" >&5
+echo "${ECHO_T}explicitly disabled" >&6; }
+ USE_CONTRIB_TRILINOS=no
+ else
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_LIBDIR=$withval
+ { echo "$as_me:$LINENO: result: $DEAL_II_TRILINOS_LIBDIR" >&5
+echo "${ECHO_T}$DEAL_II_TRILINOS_LIBDIR" >&6; }
+
+ if test ! -d $DEAL_II_TRILINOS_LIBDIR ; then
+ { { echo "$as_me:$LINENO: error: Path to Trilinos libraries with --with-trilinos-libs does not
+ point to a valid directory" >&5
+echo "$as_me: error: Path to Trilinos libraries with --with-trilinos-libs does not
+ point to a valid directory" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+
+else
+
+ if test "x$TRILINOS_DIR" != "x" ; then
+ USE_CONTRIB_TRILINOS=yes
+ DEAL_II_TRILINOS_LIBDIR="$TRILINOS_DIR"
+ { echo "$as_me:$LINENO: result: $DEAL_II_TRILINOS_LIBDIR" >&5
+echo "${ECHO_T}$DEAL_II_TRILINOS_LIBDIR" >&6; }
+
+ if test ! -d $DEAL_II_TRILINOS_LIBDIR ; then
+ { { echo "$as_me:$LINENO: error: The path to Trilinos specified in the TRILINOS_LIBDIR
+ environment variable does not
+ point to a complete Trilinos installation" >&5
+echo "$as_me: error: The path to Trilinos specified in the TRILINOS_LIBDIR
+ environment variable does not
+ point to a complete Trilinos installation" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ if test "x${USE_CONTRIB_TRILINOS}" != "xyes" ; then
+ USE_CONTRIB_TRILINOS=no
+ DEAL_II_TRILINOS_LIBDIR=""
+ { echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: not explicitly specified" >&5
+echo "${ECHO_T}not explicitly specified" >&6; }
+ fi
+ fi
+
+fi
+
+
if test "$USE_CONTRIB_TRILINOS" = "yes" ; then
cat >>confdefs.h <<\_ACEOF
@@ -12174,7 +12316,7 @@ _ACEOF
{ echo "$as_me:$LINENO: checking whether Trilinos uses shared libraries" >&5
echo $ECHO_N "checking whether Trilinos uses shared libraries... $ECHO_C" >&6; }
- if test -f $DEAL_II_TRILINOS_DIR/lib/libepetra${shared_lib_suffix} ; then
+ if test -f $DEAL_II_TRILINOS_LIBDIR/libepetra${shared_lib_suffix} ; then
{ echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
DEAL_II_TRILINOS_SHARED=yes
@@ -12185,7 +12327,7 @@ echo "${ECHO_T}no" >&6; }
{ echo "$as_me:$LINENO: checking whether Trilinos uses static libraries" >&5
echo $ECHO_N "checking whether Trilinos uses static libraries... $ECHO_C" >&6; }
- if test -f $DEAL_II_TRILINOS_DIR/lib/libepetra${static_lib_suffix} ; then
+ if test -f $DEAL_II_TRILINOS_LIBDIR/libepetra${static_lib_suffix} ; then
{ echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
DEAL_II_TRILINOS_STATIC=yes
@@ -12391,8 +12533,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
OLD_CXXFLAGS="$CXXFLAGS"
OLD_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="-I$DEAL_II_TRILINOS_DIR/include $CPPFLAGS"
- CXXFLAGS="-I$DEAL_II_TRILINOS_DIR/include $CXXFLAGS"
+echo $DEAL_II_TRILINOS_INCDIR
+ CPPFLAGS="-I$DEAL_II_TRILINOS_INCDIR $CPPFLAGS"
+ CXXFLAGS="-I$DEAL_II_TRILINOS_INCDIR $CXXFLAGS"
@@ -12641,6 +12784,7 @@ done
+
if test "x$with_umfpack" != "x" -a "x$with_umfpack" != "xno" ; then
if test "x$with_blas" = "x" -o "x$with_blas" = "xno"; then
with_blas="yes"
@@ -13279,12 +13423,48 @@ else
fi
+
+# Check whether --with-netcdf-include was given.
+if test "${with_netcdf_include+set}" = set; then
+ withval=$with_netcdf_include;
+ NETCDF_INCLUDE_DIR=$withval
+
+fi
+
+
+
+# Check whether --with-netcdf-libs was given.
+if test "${with_netcdf_libs+set}" = set; then
+ withval=$with_netcdf_libs;
+ NETCDF_LIBDIR=$withval
+
+fi
+
+
+
if test "x$DEAL_II_NETCDF_DIR" != "x" ; then
- CPPFLAGS="-I$DEAL_II_NETCDF_DIR/include $CPPFLAGS"
- CXXFLAGS="-I$DEAL_II_NETCDF_DIR/include $CXXFLAGS"
- LDFLAGS="-L$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
- if test "$LD_PATH_OPTION" != "no" ; then
- LDFLAGS="$LD_PATH_OPTION$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
+ if test "x$NETCDF_INCLUDE_DIR" != "x" ; then
+ CPPFLAGS="-I$NETCDF_INCLUDE_DIR $CPPFLAGS"
+ CXXFLAGS="-I$NETCDF_INCLUDE_DIR $CXXFLAGS"
+ else
+ CPPFLAGS="-I$DEAL_II_NETCDF_DIR/include $CPPFLAGS"
+ CXXFLAGS="-I$DEAL_II_NETCDF_DIR/include $CXXFLAGS"
+ fi
+ if test "x$NETCDF_LIBDIR" != "x" ; then
+ LDFLAGS="$LDFLAGS -L$NETCDF_LIBDIR"
+ else
+ LDFLAGS="-L$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
+ if test "$LD_PATH_OPTION" != "no" ; then
+ LDFLAGS="$LD_PATH_OPTION$DEAL_II_NETCDF_DIR/lib $LDFLAGS"
+ fi
+ fi
+ else
+ if test "x$NETCDF_INCLUDE_DIR" != "x" ; then
+ CPPFLAGS="-I$NETCDF_INCLUDE_DIR $CPPFLAGS"
+ CXXFLAGS="-I$NETCDF_INCLUDE_DIR $CXXFLAGS"
+ fi
+ if test "x$NETCDF_LIBDIR" != "x" ; then
+ LDFLAGS="$LDFLAGS -L$NETCDF_LIBDIR"
fi
fi
@@ -13418,7 +13598,9 @@ fi
echo "${ECHO_T}$ac_cv_header_netcdfcpp_h" >&6; }
fi
-if test $ac_cv_header_netcdfcpp_h = yes; then
+
+
+
{ echo "$as_me:$LINENO: checking for nc_open in -lnetcdf" >&5
echo $ECHO_N "checking for nc_open in -lnetcdf... $ECHO_C" >&6; }
if test "${ac_cv_lib_netcdf_nc_open+set}" = set; then
@@ -13487,9 +13669,9 @@ if test $ac_cv_lib_netcdf_nc_open = yes; then
LIBS="-lnetcdf_c++ -lnetcdf $LIBS"
- { echo "$as_me:$LINENO: checking for NcFile::NcFile in -lnetcdf_c++" >&5
+ { echo "$as_me:$LINENO: checking for NcFile::NcFile in -lnetcdf_c++" >&5
echo $ECHO_N "checking for NcFile::NcFile in -lnetcdf_c++... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -13549,14 +13731,10 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
fi
-fi
-
- { echo "$as_me:$LINENO: checking for Metis library directory" >&5
-echo $ECHO_N "checking for Metis library directory... $ECHO_C" >&6; }
# Check whether --with-metis was given.
@@ -13575,6 +13753,9 @@ echo "$as_me: error: Path to Metis specified with --with-metis does not
{ (exit 1); exit 1; }; }
fi
+ DEAL_II_METIS_LIBDIR="$DEAL_II_METIS_DIR/Lib"
+ DEAL_II_METIS_INCDIR="$DEAL_II_METIS_DIR/include"
+
else
if test "x$METIS_DIR" != "x" ; then
@@ -13592,40 +13773,118 @@ echo "$as_me: error: The path to Metis specified in the METIS_DIR
point to a complete Metis installation" >&2;}
{ (exit 1); exit 1; }; }
fi
+ DEAL_II_METIS_LIBDIR="$DEAL_II_METIS_DIR/Lib"
+ DEAL_II_METIS_INCDIR="$DEAL_II_METIS_DIR/include"
else
USE_CONTRIB_METIS=no
DEAL_II_METIS_DIR=""
- { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
fi
fi
+
+
+# Check whether --with-metis-include was given.
+if test "${with_metis_include+set}" = set; then
+ withval=$with_metis_include;
+ METIS_INCLUDE_DIR=$withval
+ DEAL_II_METIS_INCDIR="$METIS_INCLUDE_DIR"
+
+fi
+
+
+
+# Check whether --with-metis-libs was given.
+if test "${with_metis_libs+set}" = set; then
+ withval=$with_metis_libs;
+ USE_CONTRIB_METIS=yes
+ DEAL_II_METIS_LIBDIR=$withval
+ { echo "$as_me:$LINENO: result: $DEAL_II_METIS_LIBDIR" >&5
+echo "${ECHO_T}$DEAL_II_METIS_LIBDIR" >&6; }
+
+ if test ! -d $DEAL_II_METIS_LIBDIR ; then
+ { { echo "$as_me:$LINENO: error: Path to Metis specified with --with-metis does not
+ point to a complete Metis installation" >&5
+echo "$as_me: error: Path to Metis specified with --with-metis does not
+ point to a complete Metis installation" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+else
+
+ if test "x$METIS_LIBDIR" != "x" ; then
+ USE_CONTRIB_METIS=yes
+ DEAL_II_METIS_LIBDIR="$METIS_LIBDIR"
+ { echo "$as_me:$LINENO: result: $DEAL_II_METIS_LIBDIR" >&5
+echo "${ECHO_T}$DEAL_II_METIS_LIBDIR" >&6; }
+
+ if test ! -d $DEAL_II_METIS_LIBDIR ; then
+ { { echo "$as_me:$LINENO: error: The path to Metis specified in the METIS_DIR
+ environment variable does not
+ point to a complete Metis installation" >&5
+echo "$as_me: error: The path to Metis specified in the METIS_DIR
+ environment variable does not
+ point to a complete Metis installation" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ if test "x$USE_CONTRIB_METIS" != "xyes" ; then
+ USE_CONTRIB_METIS=no
+ DEAL_II_METIS_LIBDIR=""
+ fi
+ fi
+
+fi
+
+
if test "x$USE_CONTRIB_METIS" = "xyes" ; then
cat >>confdefs.h <<\_ACEOF
#define DEAL_II_USE_METIS 1
_ACEOF
- LDFLAGS="$LDFLAGS -L$DEAL_II_METIS_DIR -lmetis"
+ LDFLAGS="$LDFLAGS -L$DEAL_II_METIS_LIBDIR -lmetis"
- { echo "$as_me:$LINENO: checking for Metis version" >&5
-echo $ECHO_N "checking for Metis version... $ECHO_C" >&6; }
- DEAL_II_METIS_VERSION=`cat $DEAL_II_METIS_DIR/VERSION`
- { echo "$as_me:$LINENO: result: $DEAL_II_METIS_VERSION" >&5
-echo "${ECHO_T}$DEAL_II_METIS_VERSION" >&6; }
- fi
+ fi
+
+ acx_umfpack=no
+
+
# Check whether --with-umfpack was given.
if test "${with_umfpack+set}" = set; then
withval=$with_umfpack;
- if test "x$withval" != "xyes" ; then
UMFPACK_DIR=$withval
+fi
+
+
+
+# Check whether --with-umfpack-include was given.
+if test "${with_umfpack_include+set}" = set; then
+ withval=$with_umfpack_include;
+ UMFPACK_INCDIR=$withval
+ acx_umfpack=yes
+
+fi
+
+
+
+# Check whether --with-umfpack-libs was given.
+if test "${with_umfpack_libs+set}" = set; then
+ withval=$with_umfpack_libs;
+ UMFPACK_LIBDIR=$withval
+ acx_umfpack=yes
+
+fi
+
+
+ if test "x$UMFPACK_DIR" != "x" -a "x$acs_umfpack" == "xno" ; then
+
OLD_LDFLAGS="$LDFLAGS"
LDFLAGS="-L${UMFPACK_DIR}/UMFPACK/Lib $LDFLAGS"
{ echo "$as_me:$LINENO: checking for umfpack_di_defaults in -lumfpack" >&5
@@ -14104,21 +14363,752 @@ fi
else
- { echo "$as_me:$LINENO: checking UmfPack library" >&5
-echo $ECHO_N "checking UmfPack library... $ECHO_C" >&6; }
- UMFPACK_INCLUDE_DIR='-I$D/contrib/umfpack/UMFPACK/Include'
- USE_CONTRIB_UMFPACK='yes'
- { echo "$as_me:$LINENO: result: using included version" >&5
-echo "${ECHO_T}using included version" >&6; }
- fi
+ if test "x$UMFPACK_INCDIR" != "x" ; then
+ UMFPACK_INCLUDE_DIR="-I${UMFPACK_INCDIR}"
+ OLD_CXXFLAGS="$CXXFLAGS"
+ OLD_CPPFLAGS="$CPPFLAGS"
+ CXXFLAGS="-I$UMFPACK_INCDIR $CXXFLAGS"
+ CPPFLAGS="-I$UMFPACK_INCDIR $CPPFLAGS"
+ if test "${ac_cv_header_umfpack_h+set}" = set; then
+ { echo "$as_me:$LINENO: checking for umfpack.h" >&5
+echo $ECHO_N "checking for umfpack.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_umfpack_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5
+echo "${ECHO_T}$ac_cv_header_umfpack_h" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking umfpack.h usability" >&5
+echo $ECHO_N "checking umfpack.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ ac_header_compiler=no
+fi
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBUMFPACK 1
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking umfpack.h presence" >&5
+echo $ECHO_N "checking umfpack.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include
_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to dealii@dealii.org ##
+## -------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for umfpack.h" >&5
+echo $ECHO_N "checking for umfpack.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_umfpack_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_header_umfpack_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5
+echo "${ECHO_T}$ac_cv_header_umfpack_h" >&6; }
+
+fi
+if test $ac_cv_header_umfpack_h = yes; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: installation of UMFPACK could not be determined" >&5
+echo "$as_me: error: installation of UMFPACK could not be determined" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+ if test "${ac_cv_header_amd_h+set}" = set; then
+ { echo "$as_me:$LINENO: checking for amd.h" >&5
+echo $ECHO_N "checking for amd.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_amd_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_amd_h" >&5
+echo "${ECHO_T}$ac_cv_header_amd_h" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking amd.h usability" >&5
+echo $ECHO_N "checking amd.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking amd.h presence" >&5
+echo $ECHO_N "checking amd.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: amd.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: amd.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: amd.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: amd.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: amd.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: amd.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: amd.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: amd.h: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: amd.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: amd.h: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: amd.h: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: amd.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: amd.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: amd.h: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: amd.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: amd.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to dealii@dealii.org ##
+## -------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for amd.h" >&5
+echo $ECHO_N "checking for amd.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_amd_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_header_amd_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_amd_h" >&5
+echo "${ECHO_T}$ac_cv_header_amd_h" >&6; }
+
+fi
+if test $ac_cv_header_amd_h = yes; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: installation of UMFPACK could not be determined" >&5
+echo "$as_me: error: installation of UMFPACK could not be determined" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+ if test "${ac_cv_header_UFconfig_h+set}" = set; then
+ { echo "$as_me:$LINENO: checking for UFconfig.h" >&5
+echo $ECHO_N "checking for UFconfig.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_UFconfig_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_UFconfig_h" >&5
+echo "${ECHO_T}$ac_cv_header_UFconfig_h" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking UFconfig.h usability" >&5
+echo $ECHO_N "checking UFconfig.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking UFconfig.h presence" >&5
+echo $ECHO_N "checking UFconfig.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: UFconfig.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: UFconfig.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: UFconfig.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: UFconfig.h: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: UFconfig.h: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: UFconfig.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: UFconfig.h: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: UFconfig.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: UFconfig.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to dealii@dealii.org ##
+## -------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for UFconfig.h" >&5
+echo $ECHO_N "checking for UFconfig.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_UFconfig_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_header_UFconfig_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_UFconfig_h" >&5
+echo "${ECHO_T}$ac_cv_header_UFconfig_h" >&6; }
+
+fi
+if test $ac_cv_header_UFconfig_h = yes; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: installation of UMFPACK could not be determined" >&5
+echo "$as_me: error: installation of UMFPACK could not be determined" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+ if test "x$UMFPACK_LIBDIR" != "x" ; then
+ { echo "$as_me:$LINENO: checking for amd_info in -lamd" >&5
+echo $ECHO_N "checking for amd_info in -lamd... $ECHO_C" >&6; }
+if test "${ac_cv_lib_amd_amd_info+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lamd $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char amd_info ();
+int
+main ()
+{
+return amd_info ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_amd_amd_info=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_amd_amd_info=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_amd_amd_info" >&5
+echo "${ECHO_T}$ac_cv_lib_amd_amd_info" >&6; }
+if test $ac_cv_lib_amd_amd_info = yes; then
+
+
+ LIBS="$LIBS -lamd"
+
+ if test "$LD_PATH_OPTION" != "no"; then
+ LDFLAGS="$LD_PATH_OPTION${UMFPACK_LIBDIR} $LDFLAGS"
+ fi
+
+else
+ { { echo "$as_me:$LINENO: error: installation of AMD could not be determined" >&5
+echo "$as_me: error: installation of AMD could not be determined" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+
+ { echo "$as_me:$LINENO: checking for umfpack_di_defaults in -lumfpack" >&5
+echo $ECHO_N "checking for umfpack_di_defaults in -lumfpack... $ECHO_C" >&6; }
+if test "${ac_cv_lib_umfpack_umfpack_di_defaults+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lumfpack $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char umfpack_di_defaults ();
+int
+main ()
+{
+return umfpack_di_defaults ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_umfpack_umfpack_di_defaults=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_umfpack_umfpack_di_defaults=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_umfpack_umfpack_di_defaults" >&5
+echo "${ECHO_T}$ac_cv_lib_umfpack_umfpack_di_defaults" >&6; }
+if test $ac_cv_lib_umfpack_umfpack_di_defaults = yes; then
+
+
+ LIBS="$LIBS -lumfpack"
+
+ if test "$LD_PATH_OPTION" != "no"; then
+ LDFLAGS="$LD_PATH_OPTION${UMFPACK_LIBDIR} $LDFLAGS"
+ fi
+
+else
+ { { echo "$as_me:$LINENO: error: installation of UMFPACK could not be determined" >&5
+echo "$as_me: error: installation of UMFPACK could not be determined" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+
+ else
+ { echo "$as_me:$LINENO: checking for amd_info in -lamd" >&5
+echo $ECHO_N "checking for amd_info in -lamd... $ECHO_C" >&6; }
+if test "${ac_cv_lib_amd_amd_info+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lamd $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char amd_info ();
+int
+main ()
+{
+return amd_info ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_amd_amd_info=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_amd_amd_info=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_amd_amd_info" >&5
+echo "${ECHO_T}$ac_cv_lib_amd_amd_info" >&6; }
+if test $ac_cv_lib_amd_amd_info = yes; then
+
+
+ LIBS="$LIBS -lamd"
+
+
+else
+ { { echo "$as_me:$LINENO: error: installation of AMD could not be determined" >&5
+echo "$as_me: error: installation of AMD could not be determined" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+
+ { echo "$as_me:$LINENO: checking for umfpack_di_defaults in -lumfpack" >&5
+echo $ECHO_N "checking for umfpack_di_defaults in -lumfpack... $ECHO_C" >&6; }
+if test "${ac_cv_lib_umfpack_umfpack_di_defaults+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lumfpack $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char umfpack_di_defaults ();
+int
+main ()
+{
+return umfpack_di_defaults ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_umfpack_umfpack_di_defaults=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_umfpack_umfpack_di_defaults=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_umfpack_umfpack_di_defaults" >&5
+echo "${ECHO_T}$ac_cv_lib_umfpack_umfpack_di_defaults" >&6; }
+if test $ac_cv_lib_umfpack_umfpack_di_defaults = yes; then
+
+
+ LIBS="$LIBS -lumfpack"
+
+
+else
+ { { echo "$as_me:$LINENO: error: installation of UMFPACK could not be determined" >&5
+echo "$as_me: error: installation of UMFPACK could not be determined" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+
+ fi
+
+ else
+ { echo "$as_me:$LINENO: checking UmfPack library" >&5
+echo $ECHO_N "checking UmfPack library... $ECHO_C" >&6; }
+ UMFPACK_INCLUDE_DIR='-I$D/contrib/umfpack/UMFPACK/Include'
+ USE_CONTRIB_UMFPACK='yes'
+ { echo "$as_me:$LINENO: result: using included version" >&5
+echo "${ECHO_T}using included version" >&6; }
+ fi
+ fi
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LIBUMFPACK 1
+_ACEOF
+
@@ -15615,7 +16605,8 @@ DEAL_II_EXPAND_TRILINOS_MPI_VECTOR!$DEAL_II_EXPAND_TRILINOS_MPI_VECTOR$ac_delim
DEAL_II_EXPAND_TRILINOS_BLOCKVECTOR!$DEAL_II_EXPAND_TRILINOS_BLOCKVECTOR$ac_delim
DEAL_II_EXPAND_TRILINOS_MPI_BLOCKVECTOR!$DEAL_II_EXPAND_TRILINOS_MPI_BLOCKVECTOR$ac_delim
USE_CONTRIB_TRILINOS!$USE_CONTRIB_TRILINOS$ac_delim
-DEAL_II_TRILINOS_DIR!$DEAL_II_TRILINOS_DIR$ac_delim
+DEAL_II_TRILINOS_INCDIR!$DEAL_II_TRILINOS_INCDIR$ac_delim
+DEAL_II_TRILINOS_LIBDIR!$DEAL_II_TRILINOS_LIBDIR$ac_delim
DEAL_II_TRILINOS_SHARED!$DEAL_II_TRILINOS_SHARED$ac_delim
DEAL_II_TRILINOS_STATIC!$DEAL_II_TRILINOS_STATIC$ac_delim
NEEDS_F77LIBS!$NEEDS_F77LIBS$ac_delim
@@ -15623,7 +16614,8 @@ HSL_INCLUDE_DIR!$HSL_INCLUDE_DIR$ac_delim
USE_CONTRIB_HSL!$USE_CONTRIB_HSL$ac_delim
TECPLOT_INCLUDE_DIR!$TECPLOT_INCLUDE_DIR$ac_delim
USE_CONTRIB_METIS!$USE_CONTRIB_METIS$ac_delim
-DEAL_II_METIS_DIR!$DEAL_II_METIS_DIR$ac_delim
+DEAL_II_METIS_INCDIR!$DEAL_II_METIS_INCDIR$ac_delim
+DEAL_II_METIS_LIBDIR!$DEAL_II_METIS_LIBDIR$ac_delim
UMFPACK_LIB!$UMFPACK_LIB$ac_delim
UMFPACK_INCLUDE_DIR!$UMFPACK_INCLUDE_DIR$ac_delim
USE_CONTRIB_UMFPACK!$USE_CONTRIB_UMFPACK$ac_delim
@@ -15638,7 +16630,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 33; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 35; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/deal.II/configure.in b/deal.II/configure.in
index 33d4ce21ca..fe107e1291 100644
--- a/deal.II/configure.in
+++ b/deal.II/configure.in
@@ -26,7 +26,7 @@ define([AC_CACHE_SAVE], )dnl
AC_INIT(deal.II, 6.2.pre, dealii@dealii.org, deal.II)
AC_REVISION($Revision$)
-AC_PREREQ(2.50)
+AC_PREREQ(2.61)
dnl Where the output config file is located
@@ -66,7 +66,7 @@ DEAL2_DIR=$DEAL_II_PATH
AC_SUBST(DEAL2_DIR)
dnl Check for machine type operating system
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET
AC_SUBST(target)
dnl Set the language for which subsequent tests shall be
@@ -317,7 +317,7 @@ if test "x$enableshared" = "xyes" ; then
else
dnl The gcc compiler needs -static for static linking. For the case
dnl other compilers do not like this flag we should introduce a
-dnl LDFLAGSSTATIC variable and check -static through AC_TRY_LINK.
+dnl LDFLAGSSTATIC variable and check -static through AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]).
LDFLAGSSTATIC="-static"
case "$target" in
*-apple-darwin* )
@@ -352,8 +352,7 @@ dnl Optional features
dnl --------------------------------------------------------------
AC_ARG_ENABLE(parser,
- AC_HELP_STRING([--enable-parser],
- [While switched on by default, this option allows
+ AS_HELP_STRING([--enable-parser],[While switched on by default, this option allows
to switch off support for the function parser
in the contrib directory.]),
[ enableparser=$enableval
@@ -407,7 +406,8 @@ AC_SUBST(DEAL_II_DEFINE_DEAL_II_USE_PETSC)
DEAL_II_CONFIGURE_TRILINOS
AC_SUBST(USE_CONTRIB_TRILINOS)
-AC_SUBST(DEAL_II_TRILINOS_DIR)
+AC_SUBST(DEAL_II_TRILINOS_INCDIR)
+AC_SUBST(DEAL_II_TRILINOS_LIBDIR)
AC_SUBST(DEAL_II_TRILINOS_SHARED)
AC_SUBST(DEAL_II_TRILINOS_STATIC)
@@ -521,17 +521,12 @@ DEAL_II_CONFIGURE_NETCDF
DEAL_II_CONFIGURE_METIS
AC_SUBST(USE_CONTRIB_METIS)
-AC_SUBST(DEAL_II_METIS_DIR)
+AC_SUBST(DEAL_II_METIS_INCDIR)
+AC_SUBST(DEAL_II_METIS_LIBDIR)
dnl Check for UMFPack. This is more an enable for the contributed version,
dnl but it should become a real --with-umfpack later
-AC_ARG_WITH(umfpack,
- [ --with-umfpack=umfpack-root-directory Use installed UMFPack version.
- 'umfpack-root-directory' should be the directory
- containing directories AMD and UMFPACK. The
- contributed UMFPack library is used if no argument
- is given. Default is not to use UMFPack.],
- DEAL_II_WITH_UMFPACK($withval))
+DEAL_II_WITH_UMFPACK
AC_SUBST(UMFPACK_LIB)
AC_SUBST(UMFPACK_INCLUDE_DIR)
AC_SUBST(USE_CONTRIB_UMFPACK)
@@ -699,7 +694,8 @@ process_files="common/Make.global_options
doc/doxygen/header.136
doc/doxygen/header.tex
common/template-arguments"
-AC_OUTPUT($process_files)
+AC_CONFIG_FILES([$process_files])
+AC_OUTPUT
dnl Autoconf has the annoying habit to simply define PACKAGE_NAME in
dnl AC_INIT and put this name into config.h, irrespective of the fact
diff --git a/deal.II/doc/readme-petsc-trilinos.html b/deal.II/doc/readme-petsc-trilinos.html
index 613665c6fb..9ac6fb1dca 100644
--- a/deal.II/doc/readme-petsc-trilinos.html
+++ b/deal.II/doc/readme-petsc-trilinos.html
@@ -124,12 +124,33 @@
--with-cflags=-fPIC --with-cxxflags=-fPIC --with-fflags=-fPIC \
--enable-thyra --enable-stratimikos --enable-rtop --enable-teuchos \
--enable-sacado --enable-ml --enable-ifpack --enable-epetra \
- --enable-belos --enable-aztecoo \
+ --enable-belos --enable-aztecoo --enable-amesos \
--prefix=/home/bangerth/bin/trilinos-9.0.1
+
+ Configuring for installed Trilinos packages
+
+
+ The above scheme works if Trilinos is installed in its own directory
+ and header and library files are in subdirectories of the directory
+ given to --with-trilinos
. This scheme doesn't work,
+ however, if Trilinos has been installed as a regular package on a
+ system, for example into the /usr
or /opt
+ directories.
+
+
+
+ In that case, paths to include and library files may be specified
+ separately using the --with-trilinos-include
+ and --with-trilinos-libs
switches
+ to ./configure
. Alternatively, this information can also
+ be passed to the configuration script by setting the environment
+ variables TRILINOS_INCDIR, TRILINOS_LIBDIR
.
+
+
diff --git a/deal.II/doc/readme.html b/deal.II/doc/readme.html
index 5054087213..dcdf918d76 100644
--- a/deal.II/doc/readme.html
+++ b/deal.II/doc/readme.html
@@ -534,9 +534,17 @@
Enabled by --with-umfpack. If no argument is given,
use the version of UMFPACK that comes bundled with deal.II. If you
want a different version of UMFPACK, provide the path to that
- version as an argument. Enabling
- UMFPACK adds the class SparseDirectUMFPACK to the
- library. The default is to not use UMFPACK.
+ version as an argument. Enabling UMFPACK adds the
+ class SparseDirectUMFPACK to the library. The default is to not
+ use UMFPACK.
+
+
+ If you want to use an external installation of UMFPACK, but UMFPACK was
+ installed as
+ part of /usr
or /opt
, instead of local
+ directories in a home directory for example, you can use configure
+ switches --with-umfpack-include, --with-umfpack-libs
.
+
Note that UMFPACK has its own license; if
@@ -594,12 +602,13 @@
As with PETSc, the use of METIS is optional. If you wish to use it, you
can do so by having a METIS installation around at the time of calling
- ./configure
. You can let ./configure
know
- about this by either setting a METIS_DIR
environment
- variable denoting the path to the METIS library, or by transmitting this
- information to ./configure
using the
- --with-metis
flag. We have tested our interface code with
- METIS version 4.0.1, and newer versions should presumably work as well.
+ ./configure
by either
+ setting the METIS_DIR
environment
+ variable denoting the path to the METIS library, or using the
+ --with-metis
flag. If METIS was installed as part
+ of /usr
or /opt
, instead of local directories
+ in a home directory for example, you can use configure
+ switches --with-metis-include, --with-metis-libs
.
@@ -673,8 +682,11 @@
href="http://www.unidata.ucar.edu/software/netcdf/">NetCDF
library. Can also be enabled by
--with-netcdf=/path/to/netcdf which overrides the path in
- $NETCDF_DIR. If enabled, allows grid input in NetCDF
- format (GridIn::read_netcdf).
+ $NETCDF_DIR. If enabled, deal.II allows grid
+ input in NetCDF format (GridIn::read_netcdf). If NetCDF was installed as
+ part of /usr
or /opt
, instead of local
+ directories in a home directory for example, you can use configure
+ switches --with-netcdf-include, --with-netcdf-libs
.