-dnl Generally, it is a bad idea to put specialized header files for a library
-dnl into a generic directory like /usr/local/include/. Instead, one should put
-dnl them into a subdirectory. GiNaC does it, NTL does it. Unfortunately, CLN
-dnl doesn't do so but some people choose to do it by hand. In these cases we
-dnl need to #include <cln/cln.h>, otherwise #include <cln.h>. This macro
-dnl tries to be clever and find out the correct way by defining the variable
-dnl HAVE_CLN_CLN_H in config.h:
-AC_DEFUN(GINAC_CHECK_CLN_H,
- [AC_PROVIDE([$0])
- AC_CHECK_HEADERS(cln/cln.h, ,
- AC_CHECK_HEADERS(cln.h, ,
- AC_MSG_ERROR([cannot find header for Bruno Haible's CLN]);
- )
- )
+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 <stdio.h>
+#include <sys/types.h>
+#include <readline/readline.h>
+
+int 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