changeset 26910:075c4d3bf1de

use OCTAVE_CHECK_LIB to check for sundials_sunlinsolklu library * * subst-config-vals.in.sh, subst-cross-config-vals.in.sh, build-env.h, build-env.in.cc: Substitute new variables. * changed configure.ac: Report info about sundials_sunlinsolklu LIBS, CPPFLAGS, and LDFLAGS. * acinclude.m4 (OCTAVE_CHECK_SUNDIALS_SUNLINSOL_KLU): Use OCTAVE_CHECK_LIB.
author John W. Eaton <jwe@octave.org>
date Thu, 14 Mar 2019 08:00:59 +0000
parents 5042a568771a
children ae9f8906e2cb
files build-aux/subst-config-vals.in.sh build-aux/subst-cross-config-vals.in.sh configure.ac libinterp/build-env.h libinterp/build-env.in.cc m4/acinclude.m4
diffstat 6 files changed, 32 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/build-aux/subst-config-vals.in.sh	Thu Mar 14 07:05:22 2019 +0000
+++ b/build-aux/subst-config-vals.in.sh	Thu Mar 14 08:00:59 2019 +0000
@@ -211,6 +211,9 @@
 SUNDIALS_NVECSERIAL_CPPFLAGS="@SUNDIALS_NVECSERIAL_CPPFLAGS@"
 SUNDIALS_NVECSERIAL_LDFLAGS="@SUNDIALS_NVECSERIAL_LDFLAGS@"
 SUNDIALS_NVECSERIAL_LIBS="@SUNDIALS_NVECSERIAL_LIBS@"
+SUNDIALS_SUNLINSOLKLU_CPPFLAGS="@SUNDIALS_SUNLINSOLKLU_CPPFLAGS@"
+SUNDIALS_SUNLINSOLKLU_LDFLAGS="@SUNDIALS_SUNLINSOLKLU_LDFLAGS@"
+SUNDIALS_SUNLINSOLKLU_LIBS="@SUNDIALS_SUNLINSOLKLU_LIBS@"
 TERM_LIBS="@TERM_LIBS@"
 UMFPACK_CPPFLAGS="@UMFPACK_CPPFLAGS@"
 UMFPACK_LDFLAGS="@UMFPACK_LDFLAGS@"
@@ -380,6 +383,9 @@
   -e "s|%OCTAVE_CONF_SUNDIALS_NVECSERIAL_CPPFLAGS%|\"${SUNDIALS_NVECSERIAL_CPPFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_SUNDIALS_NVECSERIAL_LDFLAGS%|\"${SUNDIALS_NVECSERIAL_LDFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_SUNDIALS_NVECSERIAL_LIBS%|\"${SUNDIALS_NVECSERIAL_LIBS}\"|" \
+  -e "s|%OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_CPPFLAGS%|\"${SUNDIALS_SUNLINSOLKLU_CPPFLAGS}\"|" \
+  -e "s|%OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_LDFLAGS%|\"${SUNDIALS_SUNLINSOLKLU_LDFLAGS}\"|" \
+  -e "s|%OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_LIBS%|\"${SUNDIALS_SUNLINSOLKLU_LIBS}\"|" \
   -e "s|%OCTAVE_CONF_TERM_LIBS%|\"${TERM_LIBS}\"|" \
   -e "s|%OCTAVE_CONF_UMFPACK_CPPFLAGS%|\"${UMFPACK_CPPFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_UMFPACK_LDFLAGS%|\"${UMFPACK_LDFLAGS}\"|" \
--- a/build-aux/subst-cross-config-vals.in.sh	Thu Mar 14 07:05:22 2019 +0000
+++ b/build-aux/subst-cross-config-vals.in.sh	Thu Mar 14 08:00:59 2019 +0000
@@ -215,6 +215,9 @@
 SUNDIALS_NVECSERIAL_CPPFLAGS="@SUNDIALS_NVECSERIAL_CPPFLAGS@"
 SUNDIALS_NVECSERIAL_LDFLAGS="@SUNDIALS_NVECSERIAL_LDFLAGS@"
 SUNDIALS_NVECSERIAL_LIBS="@SUNDIALS_NVECSERIAL_LIBS@"
+SUNDIALS_SUNLINSOLKLU_CPPFLAGS="@SUNDIALS_SUNLINSOLKLU_CPPFLAGS@"
+SUNDIALS_SUNLINSOLKLU_LDFLAGS="@SUNDIALS_SUNLINSOLKLU_LDFLAGS@"
+SUNDIALS_SUNLINSOLKLU_LIBS="@SUNDIALS_SUNLINSOLKLU_LIBS@"
 TERM_LIBS="@TERM_LIBS@"
 UMFPACK_CPPFLAGS="@UMFPACK_CPPFLAGS@"
 UMFPACK_LDFLAGS="@UMFPACK_LDFLAGS@"
@@ -384,6 +387,9 @@
   -e "s|%OCTAVE_CONF_SUNDIALS_NVECSERIAL_CPPFLAGS%|\"${SUNDIALS_NVECSERIAL_CPPFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_SUNDIALS_NVECSERIAL_LDFLAGS%|\"${SUNDIALS_NVECSERIAL_LDFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_SUNDIALS_NVECSERIAL_LIBS%|\"${SUNDIALS_NVECSERIAL_LIBS}\"|" \
+  -e "s|%OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_CPPFLAGS%|\"${SUNDIALS_SUNLINSOLKLU_CPPFLAGS}\"|" \
+  -e "s|%OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_LDFLAGS%|\"${SUNDIALS_SUNLINSOLKLU_LDFLAGS}\"|" \
+  -e "s|%OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_LIBS%|\"${SUNDIALS_SUNLINSOLKLU_LIBS}\"|" \
   -e "s|%OCTAVE_CONF_TERM_LIBS%|\"${TERM_LIBS}\"|" \
   -e "s|%OCTAVE_CONF_UMFPACK_CPPFLAGS%|\"${UMFPACK_CPPFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_UMFPACK_LDFLAGS%|\"${UMFPACK_LDFLAGS}\"|" \
--- a/configure.ac	Thu Mar 14 07:05:22 2019 +0000
+++ b/configure.ac	Thu Mar 14 08:00:59 2019 +0000
@@ -2237,7 +2237,7 @@
 
 SUNDIALS_XLDFLAGS="$SUNDIALS_IDA_LDFLAGS $SUNDIALS_NVECSERIAL_LDFLAGS $KLU_LDFLAGS"
 
-SUNDIALS_XLIBS="$SUNDIALS_IDA_LIBS $SUNDIALS_SUNLINSOL_KLU_LIBS $SUNDIALS_NVECSERIAL_LIBS $KLU_LIBS"
+SUNDIALS_XLIBS="$SUNDIALS_IDA_LIBS $SUNDIALS_SUNLINSOLKLU_LIBS $SUNDIALS_NVECSERIAL_LIBS $KLU_LIBS"
 
 AC_SUBST(SUNDIALS_XCPPFLAGS)
 AC_SUBST(SUNDIALS_XLDFLAGS)
@@ -3066,6 +3066,9 @@
   SUNDIALS NVECTOR CPPFLAGS:     $SUNDIALS_NVECSERIAL_CPPFLAGS
   SUNDIALS NVECTOR LDFLAGS:      $SUNDIALS_NVECSERIAL_LDFLAGS
   SUNDIALS NVECTOR libraries:    $SUNDIALS_NVECSERIAL_LIBS
+  SUNLINSOL KLU CPPFLAGS:        $SUNDIALS_SUNLINSOLKLU_CPPFLAGS
+  SUNLINSOL KLU LDFLAGS:         $SUNDIALS_SUNLINSOLKLU_LDFLAGS
+  SUNLINSOL KLU libraries:       $SUNDIALS_SUNLINSOLKLU_LIBS
   TERM libraries:                $TERM_LIBS
   UMFPACK CPPFLAGS:              $UMFPACK_CPPFLAGS
   UMFPACK LDFLAGS:               $UMFPACK_LDFLAGS
--- a/libinterp/build-env.h	Thu Mar 14 07:05:22 2019 +0000
+++ b/libinterp/build-env.h	Thu Mar 14 08:00:59 2019 +0000
@@ -161,6 +161,9 @@
     extern const char *SUNDIALS_NVECSERIAL_CPPFLAGS;
     extern const char *SUNDIALS_NVECSERIAL_LDFLAGS;
     extern const char *SUNDIALS_NVECSERIAL_LIBS;
+    extern const char *SUNDIALS_SUNLINSOLKLU_CPPFLAGS;
+    extern const char *SUNDIALS_SUNLINSOLKLU_LDFLAGS;
+    extern const char *SUNDIALS_SUNLINSOLKLU_LIBS;
     extern const char *TERM_LIBS;
     extern const char *UMFPACK_CPPFLAGS;
     extern const char *UMFPACK_LDFLAGS;
--- a/libinterp/build-env.in.cc	Thu Mar 14 07:05:22 2019 +0000
+++ b/libinterp/build-env.in.cc	Thu Mar 14 08:00:59 2019 +0000
@@ -289,6 +289,12 @@
 
     const char *SUNDIALS_NVECSERIAL_LIBS = %OCTAVE_CONF_SUNDIALS_NVECSERIAL_LIBS%;
 
+    const char *SUNDIALS_SUNLINSOLKLU_CPPFLAGS = %OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_CPPFLAGS%;
+
+    const char *SUNDIALS_SUNLINSOLKLU_LDFLAGS = %OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_LDFLAGS%;
+
+    const char *SUNDIALS_SUNLINSOLKLU_LIBS = %OCTAVE_CONF_SUNDIALS_SUNLINSOLKLU_LIBS%;
+
     const char *TERM_LIBS = %OCTAVE_CONF_TERM_LIBS%;
 
     const char *UMFPACK_CPPFLAGS = %OCTAVE_CONF_UMFPACK_CPPFLAGS%;
--- a/m4/acinclude.m4	Thu Mar 14 07:05:22 2019 +0000
+++ b/m4/acinclude.m4	Thu Mar 14 08:00:59 2019 +0000
@@ -2239,12 +2239,12 @@
 dnl enabled.
 dnl
 AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SUNLINSOL_KLU], [
-  AC_CHECK_HEADERS([sunlinsol/sunlinsol_klu.h])
-  AC_CHECK_LIB([sundials_sunlinsolklu], [SUNKLU],
-               [SUNDIALS_SUNLINSOL_KLU_LIBS=-lsundials_sunlinsolklu])
-  AC_CACHE_CHECK([whether SUNDIALS IDA is configured with SUNLINSOL_KLU enabled],
-    [octave_cv_sundials_sunlinsol_klu],
-    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+  OCTAVE_CHECK_LIB(sundials_sunlinsolklu, SUNLINSOL_KLU, [],
+    [sunlinsol/sunlinsol_klu.h], [SUNKLU], [],
+    [don't use SUNLINSOL_KLU library],
+    [AC_CACHE_CHECK([whether compiling a program that calls SUNKLU works],
+      [octave_cv_sundials_sunlinsol_klu],
+      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
          #if defined (HAVE_IDA_IDA_H)
          #include <ida/ida.h>
          #endif
@@ -2268,7 +2268,7 @@
       ]])],
       octave_cv_sundials_sunlinsol_klu=yes,
       octave_cv_sundials_sunlinsol_klu=no)
-    ])
+    ])])
   if test $octave_cv_sundials_sunlinsol_klu = yes \
      && test "x$ac_cv_header_sunlinsol_sunlinsol_klu_h" = xyes; then
     AC_DEFINE(HAVE_SUNDIALS_SUNLINSOL_KLU, 1,