-dnl Check if the CLN library suits our needs, i.e. if it is new enough, by
-dnl trying to run into a little bug which was present till version 1.0.1 and
-dnl then removed.
-AC_DEFUN(GINAC_CHECK_LIBCLN_SANITY,
- [AC_PROVIDE([$0])
- AC_MSG_CHECKING([whether libcln behaves sane])
- AC_CACHE_VAL(ginac_cv_lib_cln_integrity,
- [
- case "${ac_cv_header_CLN_cln_h}" in
- "yes")
- AC_TRY_RUN([#include <CLN/cln.h>
-int main() {
-cl_RA q(3); q = q/2; cl_RA p(3); p = p/2;
-if (q+p != 3) return 1; else return 0;
-}],
- ginac_cv_lib_cln_integrity="sane",
- ginac_cv_lib_cln_integrity="insane",
- ginac_cv_lib_cln_integrity="guessing sane")
- ;;
- *)
- AC_TRY_RUN([#include <cln.h>
-int main() {
-cl_RA q(3); q = q/2; cl_RA p(3); p = p/2;
-if (q+p != 3) return 1; else return 0;
-}],
- ginac_cv_lib_cln_integrity="sane",
- ginac_cv_lib_cln_integrity="insane",
- ginac_cv_lib_cln_integrity="guessing sane")
- ;;
- esac
- ])
- case "${ginac_cv_lib_cln_integrity}" in
-dnl exit status was 0:
- "sane")
- AC_MSG_RESULT([yes])
- ;;
-dnl exit status was not 0:
- "insane")
- AC_MSG_RESULT([no])
- AC_MSG_WARN([maybe version of libcln is older than 1.0.2?])
- ;;
-dnl test-program was not run because we are cross-compiling:
- "guessing sane")
- AC_MSG_RESULT([hopefully])
- ;;
-dnl should never ever get here:
- *)
- AC_MSG_WARN([you found a bug in the configure script!])
- ;;
- esac
+dnl Usage: GINAC_TERMCAP
+dnl libreadline is based on the termcap functions.
+dnl Some systems have tgetent(), tgetnum(), tgetstr(), tgetflag(), tputs(),
+dnl tgoto() in libc, some have it in libtermcap, some have it in libncurses.
+dnl When both libtermcap and libncurses exist, we prefer the latter, because
+dnl libtermcap is being phased out.
+AC_DEFUN(GINAC_TERMCAP,
+[LIBTERMCAP=
+AC_CHECK_FUNCS(tgetent)
+if test "x$ac_cv_func_tgetent" = "xyes"; then
+ :
+else
+ AC_CHECK_LIB(ncurses, tgetent, LIBTERMCAP="-lncurses")
+ if test -z "$LIBTERMCAP"; then
+ AC_CHECK_LIB(termcap, tgetent, LIBTERMCAP="-ltermcap")
+ fi
+fi
+AC_SUBST(LIBTERMCAP)