changeset 22509:4b691a4cf77b

improve check for libsuitesparse_config * configure.ac: Use AC_CHECK_LIB instead of AC_SEARCH_LIBS. Check for suitesparse_config library first. If that fails, check for librt and if that exists, try again with libsuitesparse_config and librt. * acinclude.m4 (OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME): Delete.
author John W. Eaton <jwe@octave.org>
date Fri, 16 Sep 2016 16:17:04 -0400
parents 0b278f54f60a
children 00bf2e2de581
files configure.ac m4/acinclude.m4
diffstat 2 files changed, 6 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Fri Sep 16 10:24:58 2016 +0200
+++ b/configure.ac	Fri Sep 16 16:17:04 2016 -0400
@@ -2113,32 +2113,15 @@
   CPPFLAGS="$UMFPACK_CPPFLAGS $AMD_CPPFLAGS $CPPFLAGS"
   LIBS="$UMFPACK_LIBS $AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS"
   xtra_libs=
-  OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME
-  AC_CHECK_LIB([rt], [clock_gettime], [xtra_libs="-lrt"], [xtra_libs=])
-  ## FIXME: This library list is only accurate for Linux, Mac OS X.
-  ##        Possibly need other library names for MinGW, Cygwin.
-  AC_SEARCH_LIBS([SuiteSparse_time], [suitesparseconfig SuiteSparse],
-                 [], [], [$xtra_libs])
-  case $ac_cv_search_SuiteSparse_time in
-    -l*)
-      SUITESPARSE_CONFIG_LIBS="$ac_cv_search_SuiteSparse_time"
-    ;;
-    no)
-      if test x$octave_cv_lib_umfpack = xyes \
-         && $octave_cv_umfpack_need_suitesparse_time = yes; then
-        UMFPACK_LIBS=
-        warn_suitesparse_config="UMFPACK library found but is missing SuiteSparse_time functionality.  UMFPACK library will be disabled."
-      fi
-    ;;
-  esac
+  AC_CHECK_LIB([suitesparseconfig], [SuiteSparse_time],
+    [SUITESPARSE_CONFIG_LIBS="-lsuitesparseconfig"],
+    [AC_CHECK_LIB([rt], [clock_gettime],
+      [AC_CHECK_LIB([suitesparseconfig], [SuiteSparse_time],
+        [SUITESPARSE_CONFIG_LIBS="-lsuitesparseconfig -lrt"], [], [-lrt])])])
   LIBS="$save_LIBS"
   CPPFLAGS="$save_CPPFLAGS"
-  AC_SUBST(SUITESPARSE_CONFIG_LIBS)
-  if test -n "$warn_suitesparseconfig"; then
-    OCTAVE_CONFIGURE_WARNING([warn_suitesparseconfig])
-    SUITESPARSE_CONFIG_LIBS=
-  fi
 fi
+AC_SUBST(SUITESPARSE_CONFIG_LIBS)
 
 ## Check for UMFPACK separately split complex matrix and RHS.
 if test -n "$UMFPACK_LIBS"; then
--- a/m4/acinclude.m4	Fri Sep 16 10:24:58 2016 +0200
+++ b/m4/acinclude.m4	Fri Sep 16 16:17:04 2016 -0400
@@ -2668,35 +2668,6 @@
   AC_SUBST($1)
 ])
 dnl
-dnl Check whether SuiteSparse_time is required by UMFPACK.
-dnl UMFPACK >= 4 requires linking in another library for SuiteSparse_time.
-dnl
-dnl Macro assumes that the check for umfpack has already been performed.
-dnl
-AC_DEFUN([OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME], [
-  AC_CACHE_CHECK([whether UMFPACK needs SuiteSparse_time function],
-    [octave_cv_umfpack_need_suitesparse_time],
-    [AC_LANG_PUSH(C)
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-        #if defined (HAVE_SUITESPARSE_UMFPACK_H)
-        # include <suitesparse/umfpack.h>
-        #elif defined (HAVE_UFSPARSE_UMFPACK_H)
-        # include <ufsparse/umfpack.h>
-        #elif defined (HAVE_UMFPACK_UMFPACK_H)
-        # include <umfpack/umfpack.h>
-        #elif defined (HAVE_UMFPACK_H)
-        # include <umfpack.h>
-        #endif
-        ]], [[
-        double stats [2];
-        umfpack_tic (stats);
-      ]])],
-      octave_cv_umfpack_need_suitesparse_time=no,
-      octave_cv_umfpack_need_suitesparse_time=yes)
-    AC_LANG_POP(C)
-  ])
-])
-dnl
 dnl Check for UMFPACK separately split complex matrix and RHS.
 dnl
 dnl Macro assumes that the check for umfpack has already been performed.