1AC_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