1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
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
AC_MSG_CHECKING([for GNU 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
AC_MSG_RESULT($wi_READLINE_VERSION)
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
])
|