struct / union in initializer, RFE #901.
[sdcc.git] / sdcc / debugger / mcs51 / acinclude.m4
blobefec09aab500ca9f32f5f67b1be045f5e4823ddb
1 dnl Borut Razem
2 dnl
3 dnl This macro checks for the presence of the readline library.
4 dnl It works also in cross-compilation environment.
5 dnl
6 dnl To get it into the aclocal.m4 dnl file, do this:
7 dnl   aclocal -I . --verbose
8 dnl
9 dnl The --verbose will show all of the files that are searched
10 dnl for .m4 macros.
12 AC_DEFUN([wi_LIB_READLINE], [
13   dnl check for the readline.h header file
15   AC_CHECK_HEADER(readline/readline.h)
17   if test "$ac_cv_header_readline_readline_h" = yes; then
18     dnl check the readline version
20     AC_MSG_CHECKING([for GNU Readline version])
21     cat > conftest.$ac_ext <<EOF
22 #include <stdio.h>
23 #include <readline/readline.h>
24 wi_LIB_READLINE_VERSION RL_VERSION_MAJOR RL_VERSION_MINOR
25 EOF
27     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")
28     rm -rf conftest*
30     if test -n "$wi_READLINE_VERSION"; then
31       wi_MAJOR=$(expr $wi_READLINE_VERSION : '\([[0-9]][[0-9]]*\)\.')
32       wi_MINOR=$(expr $wi_READLINE_VERSION : '[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)')
33       if test $wi_MINOR -lt 10; then
34         wi_MINOR=$(expr $wi_MINOR \* 10)
35       fi
36       wi_READLINE_VERSION=$(expr $wi_MAJOR \* 100 + $wi_MINOR)
37     else
38       wi_READLINE_VERSION=-1
39     fi
40     AC_MSG_RESULT($wi_READLINE_VERSION)
42     dnl check for the readline library
44     ac_save_LIBS="$LIBS"
45     # Note: $LIBCURSES is permitted to be empty.
47     for LIBREADLINE in "-lreadline.dll" "-lreadline" "-lreadline $LIBCURSES" "-lreadline -ltermcap" "-lreadline -lncurses" "-lreadline -lcurses"
48     do
49       AC_MSG_CHECKING([for GNU Readline library $LIBREADLINE])
51       LIBS="$ac_save_LIBS $LIBREADLINE"
53       AC_TRY_LINK([
54         /* includes */
55         #include <stdio.h>
56         #include <readline/readline.h>
57       ],[
58         /* function-body */
59         int dummy = rl_completion_append_character; /* rl_completion_append_character appeared in version 2.1 */
60         readline(NULL);
61       ],[
62         wi_cv_lib_readline=yes
63         AC_MSG_RESULT(yes)
64       ],[
65         wi_cv_lib_readline=no
66         AC_MSG_RESULT(no)
67       ])
69       if test "$wi_cv_lib_readline" = yes; then
70         AC_SUBST(LIBREADLINE)
71         AC_DEFINE_UNQUOTED(HAVE_LIBREADLINE, $wi_READLINE_VERSION, [Readline])
72         break
73       fi
74     done
76     LIBS="$ac_save_LIBS"
77   fi