| dnl Borut Razem | |
| dnl | |
| dnl This macro checks for the presence of the readline library. | |
| dnl It works also in cross-compilation environment. | |
| dnl | |
| dnl To get it into the aclocal.m4 dnl file, do this: | |
| dnl aclocal -I . --verbose | |
| dnl | |
| dnl The --verbose will show all of the files that are searched | |
| dnl for .m4 macros. | |
| AC_DEFUN([wi_LIB_READLINE], [ | |
| dnl check for the readline.h header file | |
| AC_CHECK_HEADER(readline/readline.h) | |
| if test "$ac_cv_header_readline_readline_h" = yes; then | |
| dnl check the readline version | |
| cat > conftest.$ac_ext <<EOF | |
| #include <stdio.h> | |
| #include <readline/readline.h> | |
| wi_LIB_READLINE_VERSION RL_VERSION_MAJOR RL_VERSION_MINOR | |
| EOF | |
| wi_READLINE_VERSION=$($CPP $CPPFLAGS conftest.$ac_ext | sed -n -e "s/^wi_LIB_READLINE_VERSION *\([[0-9\]][[0-9\]]*\) *\([[0-9\]][[0-9\]]*\)$/\1.\2/p") | |
| rm -rf conftest* | |
| if test -n "$wi_READLINE_VERSION"; then | |
| wi_MAJOR=$(expr $wi_READLINE_VERSION : '\([[0-9]][[0-9]]*\)\.') | |
| wi_MINOR=$(expr $wi_READLINE_VERSION : '[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*$\)') | |
| if test $wi_MINOR -lt 10; then | |
| wi_MINOR=$(expr $wi_MINOR \* 10) | |
| fi | |
| wi_READLINE_VERSION=$(expr $wi_MAJOR \* 100 + $wi_MINOR) | |
| else | |
| wi_READLINE_VERSION=-1 | |
| fi | |
| dnl check for the readline library | |
| ac_save_LIBS="$LIBS" | |
| # Note: $LIBCURSES is permitted to be empty. | |
| for LIBREADLINE in "-lreadline.dll" "-lreadline" "-lreadline $LIBCURSES" "-lreadline -ltermcap" "-lreadline -lncurses" "-lreadline -lcurses" | |
| do | |
| AC_MSG_CHECKING([for GNU Readline library $LIBREADLINE]) | |
| LIBS="$ac_save_LIBS $LIBREADLINE" | |
| AC_TRY_LINK([ | |
| /* includes */ | |
| #include <stdio.h> | |
| #include <readline/readline.h> | |
| ],[ | |
| /* function-body */ | |
| int dummy = rl_completion_append_character; /* rl_completion_append_character appeared in version 2.1 */ | |
| readline(NULL); | |
| ],[ | |
| wi_cv_lib_readline=yes | |
| AC_MSG_RESULT(yes) | |
| ],[ | |
| wi_cv_lib_readline=no | |
| AC_MSG_RESULT(no) | |
| ]) | |
| if test "$wi_cv_lib_readline" = yes; then | |
| AC_SUBST(LIBREADLINE) | |
| AC_DEFINE_UNQUOTED(HAVE_LIBREADLINE, $wi_READLINE_VERSION, [Readline]) | |
| break | |
| fi | |
| done | |
| LIBS="$ac_save_LIBS" | |
| fi | |
| ]) |