* acinclude.m4 (GINAC_CHECK_ERRORS): exit with non-zero return value on error.
[ginac.git] / acinclude.m4
index 12350184e76403c573c38cd4fb136e4185f5bee5..3f64fdb52562116f1fda720ce4c40f5f8edeab36 100644 (file)
@@ -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
-  RL_VERSION_MAJOR=`echo ${ginac_cv_rlversion} | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\1/'`
+  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/'`
+  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.
@@ -74,7 +74,7 @@ ginac_warning_txt="$ginac_warning_txt
 ginac_warning=yes])
 
 dnl Usage: GINAC_CHECK_ERRORS
-dnl (preferably to be put at end of configure.in)
+dnl (must be put at end of configure.in, because it exits on error)
 dnl This macro displays a warning message if GINAC_ERROR or GINAC_WARNING 
 dnl has occured previously.
 AC_DEFUN(GINAC_CHECK_ERRORS,[
@@ -86,14 +86,17 @@ 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
-    else 
-        if test x$ginac_warning = xyes; then
-            echo "=== The following minor problems have been detected by configure."
-            echo "=== Please check the messages below before running \"make\"."
-            echo "=== (see the section 'Common Problems' in the INSTALL file)"
-            echo "$ginac_warning_txt"
-        fi
+    if test "x$cache_file" != "x/dev/null"; then
+        echo "deleting cache ${cache_file}"
+        rm -f $cache_file
+    fi
+    exit 1
+else 
+    if test "x${ginac_warning}" = "xyes"; then
+        echo "=== The following minor problems have been detected by configure."
+        echo "=== Please check the messages below before running \"make\"."
+        echo "=== (see the section 'Common Problems' in the INSTALL file)"
+        echo "$ginac_warning_txt"
+    fi
     echo "Configuration of GiNaC $VERSION done. Now type \"make\"."
 fi])