Mercurial > octave
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.