X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=acinclude.m4;h=4b5cd720e89100ffcafb3b9442ab4ab7a3168563;hp=157d7b854fd096872900a477338df08c2b755aec;hb=2dcbb3a4955e294d62b45c3db8bdccb7d6fdf833;hpb=9e2c1a0044ff991627ae22070727a33e12d79954;ds=sidebyside diff --git a/acinclude.m4 b/acinclude.m4 index 157d7b85..4b5cd720 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -4,6 +4,37 @@ dnl additions' names with AC_ but with GINAC_ in order to steer clear of dnl future trouble. dnl =========================================================================== +dnl Usage: GINAC_RLVERSION +dnl The maintainers of libreadline are complete morons: they don't care a shit +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_LIB_READLINE_VERSION, +[AC_CACHE_CHECK([for version of libreadline], ginac_cv_rlversion, [ +AC_TRY_RUN([ +#include +#include +#include + +main() +{ + FILE *fd; + fd = fopen("conftest.out", "w"); + fprintf(fd, "%s\n", rl_library_version); + fclose(fd); + 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/'` + 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).]) +fi +]) + dnl Usage: GINAC_TERMCAP dnl libreadline is based on the termcap functions. dnl Some systems have tgetent(), tgetnum(), tgetstr(), tgetflag(), tputs(), @@ -55,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."