From 7a5ab3693ca5be77f1014130eff3bb3cf483e8be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 21 Aug 2009 01:18:20 +0200 Subject: Don't use a sub-`configure' for `guile-readline'. * acinclude.m4 (GUILE_READLINE): New macro, based on the former `guile-readline/configure.ac'. * configure.ac: Remove `AC_CONFIG_SUBDIRS' invocation. Add `GUILE_READLINE' invocation. Produce files under `guile-readline'. * guile-readline/Makefile.am: Conditionalize the meat under `HAVE_READLINE'. (INCLUDES): Rename to... (AM_CPPFLAGS): this. Users updates. (AM_CFLAGS): New variable. (libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD): Add $(READLINE_LIBS). * guile-readline/readline.c: Include . * guile-readline/configure.ac, guile-readline/autogen.sh: Remove. --- acinclude.m4 | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) (limited to 'acinclude.m4') diff --git a/acinclude.m4 b/acinclude.m4 index 345e323b3..e3710997c 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,3 +1,5 @@ +dnl -*- Autoconf -*- + dnl On the NeXT, #including doesn't give you a definition for dnl struct utime, unless you #define _POSIX_SOURCE. @@ -308,3 +310,70 @@ else fi AC_LANG_RESTORE ])dnl ACX_PTHREAD + +dnl GUILE_READLINE +dnl +dnl Check all the things needed by `guile-readline', the Readline +dnl bindings. +AC_DEFUN([GUILE_READLINE], [ + for termlib in ncurses curses termcap terminfo termlib ; do + AC_CHECK_LIB(${termlib}, [tgoto], + [READLINE_LIBS="-l${termlib} $READLINE_LIBS"; break]) + done + + AC_LIB_LINKFLAGS([readline]) + + if test "x$LTLIBREADLINE" = "x"; then + AC_MSG_WARN([GNU Readline was not found on your system.]) + else + rl_save_LIBS="$LIBS" + LIBS="$LIBREADLINE $READLINE_LIBS $LIBS" + + AC_CHECK_FUNCS([siginterrupt rl_clear_signals rl_cleanup_after_signal]) + + dnl Check for modern readline naming + AC_CHECK_FUNCS([rl_filename_completion_function]) + + dnl Check for rl_get_keymap. We only use this for deciding whether to + dnl install paren matching on the Guile command line (when using + dnl readline for input), so it's completely optional. + AC_CHECK_FUNCS([rl_get_keymap]) + + AC_CACHE_CHECK([for rl_getc_function pointer in readline], + ac_cv_var_rl_getc_function, + [AC_TRY_LINK([ + #include + #include ], + [printf ("%ld", (long) rl_getc_function)], + [ac_cv_var_rl_getc_function=yes], + [ac_cv_var_rl_getc_function=no])]) + if test "${ac_cv_var_rl_getc_function}" = "yes"; then + AC_DEFINE([HAVE_RL_GETC_FUNCTION], 1, + [Define if your readline library has the rl_getc_function variable.]) + fi + + if test $ac_cv_var_rl_getc_function = no; then + AC_MSG_WARN([*** GNU Readline is too old on your system.]) + AC_MSG_WARN([*** You need readline version 2.1 or later.]) + LTLIBREADLINE="" + LIBREADLINE="" + fi + + LIBS="$rl_save_LIBS" + + READLINE_LIBS="$LTLIBREADLINE $READLINELIBS" + fi + + AM_CONDITIONAL([HAVE_READLINE], [test "x$LTLIBREADLINE" != "x"]) + + AC_CHECK_FUNCS([strdup]) + + AC_SUBST([READLINE_LIBS]) + + . $srcdir/guile-readline/LIBGUILEREADLINE-VERSION + AC_SUBST(LIBGUILEREADLINE_MAJOR) + AC_SUBST(LIBGUILEREADLINE_INTERFACE_CURRENT) + AC_SUBST(LIBGUILEREADLINE_INTERFACE_REVISION) + AC_SUBST(LIBGUILEREADLINE_INTERFACE_AGE) + AC_SUBST(LIBGUILEREADLINE_INTERFACE) +]) -- cgit v1.2.1