1: AC_DEFUN([NTP_LINEEDITLIBS], [
2: NTP_ORIG_LIBS="$LIBS"
3: AC_ARG_WITH(
4: [lineeditlibs],
5: [AS_HELP_STRING(
6: [--with-lineeditlibs],
7: [edit,editline (readline may be specified if desired)]
8: )],
9: [use_lineeditlibs="$withval"],
10: [use_lineeditlibs="edit,editline"]
11: )
12: AC_MSG_CHECKING([line editing libraries])
13: AC_MSG_RESULT([$use_lineeditlibs])
14: case "$use_lineeditlibs" in
15: no)
16: ntp_lib_lineedit=no
17: ;;
18: *)
19: for lineedit_lib in `echo $use_lineeditlibs | sed -e 's/,/ /'`; do
20: for term_lib in "" termcap curses ncurses; do
21: case "$term_lib" in
22: '')
23: TRY_LIB="-l$lineedit_lib"
24: ;;
25: *)
26: TRY_LIB="-l$lineedit_lib -l$term_lib"
27: ;;
28: esac
29: LIBS="$NTP_ORIG_LIBS $TRY_LIB"
30: AC_MSG_CHECKING([for readline() with $TRY_LIB])
31: AC_TRY_LINK_FUNC([readline], [ntp_lib_lineedit="$TRY_LIB"])
32: case "$ntp_lib_lineedit" in
33: '')
34: AC_MSG_RESULT([no])
35: ;;
36: *)
37: # Use readline()
38: AC_MSG_RESULT([yes])
39: break
40: esac
41: case "$term_lib" in
42: '')
43: # do not try el_gets without a terminal library
44: ;;
45: *)
46: AC_MSG_CHECKING([for el_gets() with $TRY_LIB])
47: AC_TRY_LINK_FUNC([el_gets], [ntp_lib_lineedit="$TRY_LIB"])
48: case "$ntp_lib_lineedit" in
49: '')
50: AC_MSG_RESULT([no])
51: ;;
52: *) # Use el_gets()
53: AC_MSG_RESULT([yes])
54: break
55: ;;
56: esac # $ntp_lib_lineedit
57: esac # $term_lib
58: done
59: case "$ntp_lib_lineedit" in
60: '')
61: ;;
62: *)
63: break
64: ;;
65: esac
66: done
67: LIBS="$NTP_ORIG_LIBS"
68: ;;
69: esac # $use_lineeditlibs
70:
71: case "$ntp_lib_lineedit" in
72: '')
73: ntp_lib_lineedit="no"
74: ;;
75: no)
76: ;;
77: *)
78: EDITLINE_LIBS="$ntp_lib_lineedit"
79: AC_SUBST([EDITLINE_LIBS])
80: ;;
81: esac # $ntp_lib_lineedit
82:
83: case "$ntp_lib_lineedit" in
84: no)
85: ;;
86: *)
87: AC_CHECK_HEADERS([readline.h readline/readline.h histedit.h])
88: AC_CHECK_HEADERS([history.h readline/history.h])
89:
90: case "$ac_cv_header_histedit_h" in
91: yes)
92: AC_CACHE_CHECK(
93: [number of arguments to el_init()],
94: [ntp_cv_el_init_args],
95: [AC_COMPILE_IFELSE(
96: [AC_LANG_PROGRAM(
97: [[
98: #include <stdio.h>
99: #include <histedit.h>
100: ]],
101: [[
102: el_init("conftest", stdin, stdout, stderr);
103: ]]
104: )],
105: [ntp_cv_el_init_args=4],
106: [ntp_cv_el_init_args=3]
107: )]
108: )
109: AC_DEFINE_UNQUOTED(
110: [EL_INIT_ARGS],
111: [$ntp_cv_el_init_args],
112: [number of args to el_init()]
113: )
114: esac
115:
116: AC_MSG_CHECKING([whether readline supports history])
117:
118: ntp_lib_lineedit_history="no"
119: ORIG_LIBS="$LIBS"
120: LIBS="$ORIG_LIBS $ntp_lib_lineedit"
121: AC_TRY_LINK_FUNC([add_history], [ntp_lib_lineedit_history="yes"])
122: LIBS="$ORIG_LIBS"
123:
124: AC_MSG_RESULT([$ntp_lib_lineedit_history])
125:
126: case "$ntp_lib_lineedit_history" in
127: yes)
128: AC_DEFINE([HAVE_READLINE_HISTORY], [1],
129: [Define if your readline library has \`add_history'])
130: esac
131: esac # $ntp_lib_lineedit
132: AS_UNSET([NTP_ORIG_LIBS])
133: AS_UNSET([ORIG_LIBS])
134: AS_UNSET([TRY_LIB])
135: AS_UNSET([use_lineeditlibs])
136: ])dnl
137:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>