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>
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.
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,[
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])