Mercurial > hg > octave-nkf
diff configure.ac @ 15329:719ffb2f35a6
Fix Octave builds with SuiteSparse >=4.0 (bug #37031)
* configure.ac: Call OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME to check if
UMFPACK needs SuiteSparse_time function. If it does, use AC_SEARCH_LIBS
to find a possible library.
* m4/acinclude.m4: Add new macro OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 07 Sep 2012 17:05:12 -0700 |
parents | c42bf5cadb60 |
children | dc39c1d84c5b |
line wrap: on
line diff
--- a/configure.ac +++ b/configure.ac @@ -1320,11 +1320,41 @@ LIBS="$save_LIBS" fi +## Test features of the installed UMFPACK library + if test -n "$UMFPACK_LIBS"; then + ## SuiteSparse >= 4.0 needs additional link library for SuiteSparse_time() save_LIBS="$LIBS"; - LIBS="$UMFPACK_LIBS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS" - OCTAVE_UMFPACK_SEPARATE_SPLIT + LIBS="$UMFPACK_LIBS $FLIBS $LIBS" + xtra_libs= + OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME + if test "$octave_cv_umfpack_need_suitesparse_time" = yes; then + 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*) + UMFPACK_LIBS="$UMFPACK_LIBS $ac_cv_search_SuiteSparse_time" + ;; + no) + UMFPACK_LIBS= + AC_MSG_WARN([UMFPACK library found but is missing SuiteSparse_time functionality.]) + AC_MSG_WARN([UMFPACK library will be disabled.]) + ;; + esac + fi LIBS="$save_LIBS" + + ## Check for UMFPACK separately split complex matrix and RHS. + if test -n "$UMFPACK_LIBS"; then + save_LIBS="$LIBS"; + LIBS="$UMFPACK_LIBS $CHOLMOD_LIBS $AMD_LIBS $COLAMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS $xtra_libs" + OCTAVE_UMFPACK_SEPARATE_SPLIT + LIBS="$save_LIBS" + fi fi ### Check for ARPACK library.