cleaned up some is_a<> vs. is_exactly_a<> stuff
[ginac.git] / acinclude.m4
index 68f75b2f2519dfc035aab8f1963600c8c3ded000..4b5cd720e89100ffcafb3b9442ab4ab7a3168563 100644 (file)
@@ -10,7 +10,7 @@ dnl about compatiblilty (which is not so bad by itself) and at the same time
 dnl they don't export the version to the preprocessor so we could kluge around 
 dnl incomatiblities.  The only reliable way to figure out the version is by 
 dnl checking the extern variable rl_library_version at runtime.  &#@$%*!
-AC_DEFUN(GINAC_RLVERSION,
+AC_DEFUN(GINAC_LIB_READLINE_VERSION,
 [AC_CACHE_CHECK([for version of libreadline], ginac_cv_rlversion, [
 AC_TRY_RUN([
 #include <stdio.h>
@@ -23,17 +23,17 @@ main()
     fd = fopen("conftest.out", "w");
     fprintf(fd, "%s\n", rl_library_version);
     fclose(fd);
-    exit(0);
-}], ginac_cv_rlversion=`cat 'conftest.out'`, ginac_cv_rlversion='unknown', ginac_cv_rlversion='4.2')
+    return 0;
+}], ginac_cv_rlversion=`cat 'conftest.out'`, ginac_cv_rlversion='unknown', ginac_cv_rlversion='4.2')])
 if test "x${ginac_cv_rlversion}" != "xunknown"; then
-  RLVERSION_MAJOR=`echo ${ginac_cv_rlversion} | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\1/'`
-  AC_DEFINE_UNQUOTED(GINAC_RLVERSION_MAJOR, $RLVERSION_MAJOR)
-  RLVERSION_MINOR=`echo ${ginac_cv_rlversion} | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\2/'`
-  AC_DEFINE_UNQUOTED(GINAC_RLVERSION_MINOR, $RLVERSION_MINOR)
+  RL_VERSION_MAJOR=`echo ${ginac_cv_rlversion} | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+  AC_DEFINE_UNQUOTED(GINAC_RL_VERSION_MAJOR, $RL_VERSION_MAJOR, [Major version of installed readline library.])
+  RL_VERSION_MINOR=`echo ${ginac_cv_rlversion} | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
+  AC_DEFINE_UNQUOTED(GINAC_RL_VERSION_MINOR, $RL_VERSION_MINOR, [Minor version of installed readline library.])
 else
-  GINAC_WARNING([I could not run a test of libreadline (needed for building ginsh ginsh).])
+  GINAC_WARNING([I could not run a test of libreadline (needed for building ginsh).])
 fi
-])])
+])
 
 dnl Usage: GINAC_TERMCAP
 dnl libreadline is based on the termcap functions.
@@ -86,8 +86,10 @@ if test "x${ginac_error}" = "xyes"; then
     if test "x${ginac_warning_txt}" != "x"; then
         echo "${ginac_warning_txt}"
     fi
-    echo "deleting cache ${cache_file}"
-    rm -f $cache_file
+    if test "x$cache_file" != "x/dev/null"; then
+        echo "deleting cache ${cache_file}"
+        rm -f $cache_file
+    fi
     else 
         if test x$ginac_warning = xyes; then
             echo "=== The following minor problems have been detected by configure."