-dnl This macro is needed because the generic AC_CHECK_LIB doesn't work because
-dnl C++ is more strongly typed than C. Therefore we need to work with the
-dnl more fundamental AC_TRY_LINK instead.
-AC_DEFUN(GINAC_CHECK_LIBCLN,
- [AC_PROVIDE([$0])
- AC_MSG_CHECKING([for doublefactorial in -lcln])
- saved_LIBS="${LIBS}"
- AC_CACHE_VAL(ginac_cv_lib_cln_link,
- [LIBS="-lcln"
- case "${ac_cv_header_cln_cln_h}" in
- "yes")
- AC_TRY_LINK([#include <cln/cl_integer.h>],
- [doublefactorial(2);],
- ginac_cv_lib_cln_link="-lcln",
- ginac_cv_lib_cln_link="fail")
- ;;
- *)
- AC_TRY_LINK([#include <cl_integer.h>],
- [doublefactorial(2);],
- ginac_cv_lib_cln_link="-lcln",
- ginac_cv_lib_cln_link="fail")
- ;;
- esac
- ])
- case "${ginac_cv_lib_cln_link}" in
-dnl linking worked:
- "-lcln")
- LIBS="${ginac_cv_lib_cln_link} ${saved_LIBS}"
- AC_MSG_RESULT("yes")
- ;;
-dnl linking failed:
- "fail")
- LIBS="${saved_LIBS}"
- AC_MSG_RESULT([no])
- GINAC_ERROR([I could not successfully link a test-program against libcln and run it.
- You either need to set \$LDFLAGS or install/update the CLN library.])
- ;;
- esac
+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