ntp_lineeditlibs.m4 revision 275970
1119452SobrienAC_DEFUN([NTP_LINEEDITLIBS], [ 2101225Sphk NTP_ORIG_LIBS="$LIBS" 3101225Sphk AC_ARG_WITH( 4101225Sphk [lineeditlibs], 5101225Sphk [AS_HELP_STRING( 6101225Sphk [--with-lineeditlibs], 7101225Sphk [edit,editline (readline may be specified if desired)] 8101225Sphk )], 9101225Sphk [use_lineeditlibs="$withval"], 10102934Sphk [use_lineeditlibs="edit,editline"] 11102934Sphk ) 12102934Sphk AC_MSG_CHECKING([line editing libraries]) 13102934Sphk AC_MSG_RESULT([$use_lineeditlibs]) 14102934Sphk case "$use_lineeditlibs" in 15102934Sphk no) 16102934Sphk ntp_lib_lineedit=no 17102934Sphk ;; 18102934Sphk *) 19109327Sphk for lineedit_lib in `echo $use_lineeditlibs | sed -e 's/,/ /'`; do 20109327Sphk for term_lib in "" termcap curses ncurses; do 21109327Sphk case "$term_lib" in 22109327Sphk '') 23109327Sphk TRY_LIB="-l$lineedit_lib" 24109327Sphk ;; 25109327Sphk *) 26109327Sphk TRY_LIB="-l$lineedit_lib -l$term_lib" 27101225Sphk ;; 28102934Sphk esac 29115683Sobrien LIBS="$NTP_ORIG_LIBS $TRY_LIB" 30115683Sobrien AC_MSG_CHECKING([for readline() with $TRY_LIB]) 31115683Sobrien AC_TRY_LINK_FUNC([readline], [ntp_lib_lineedit="$TRY_LIB"]) 32111138Sphk case "$ntp_lib_lineedit" in 33101225Sphk '') 34101225Sphk AC_MSG_RESULT([no]) 35101225Sphk ;; 36101225Sphk *) 37102934Sphk # Use readline() 38102934Sphk AC_MSG_RESULT([yes]) 39102934Sphk break 40103482Sphk esac 41103482Sphk case "$term_lib" in 42103482Sphk '') 43103482Sphk # do not try el_gets without a terminal library 44109327Sphk ;; 45109327Sphk *) 46111647Sphk AC_MSG_CHECKING([for el_gets() with $TRY_LIB]) 47101225Sphk AC_TRY_LINK_FUNC([el_gets], [ntp_lib_lineedit="$TRY_LIB"]) 48101225Sphk case "$ntp_lib_lineedit" in 49101225Sphk '') 50102934Sphk AC_MSG_RESULT([no]) 51102934Sphk ;; 52102934Sphk *) # Use el_gets() 53102934Sphk AC_MSG_RESULT([yes]) 54102934Sphk break 55103482Sphk ;; 56103482Sphk esac # $ntp_lib_lineedit 57103482Sphk esac # $term_lib 58103482Sphk done 59103482Sphk case "$ntp_lib_lineedit" in 60102935Sphk '') 61109327Sphk ;; 62109327Sphk *) 63109327Sphk break 64109327Sphk ;; 65109327Sphk esac 66109327Sphk done 67109327Sphk LIBS="$NTP_ORIG_LIBS" 68109327Sphk ;; 69109327Sphk esac # $use_lineeditlibs 70109327Sphk 71109327Sphk case "$ntp_lib_lineedit" in 72109327Sphk '') 73109327Sphk ntp_lib_lineedit="no" 74109327Sphk ;; 75109327Sphk no) 76109327Sphk ;; 77109327Sphk *) 78109327Sphk EDITLINE_LIBS="$ntp_lib_lineedit" 79109327Sphk AC_SUBST([EDITLINE_LIBS]) 80109327Sphk ;; 81109327Sphk esac # $ntp_lib_lineedit 82109327Sphk 83109327Sphk case "$ntp_lib_lineedit" in 84109327Sphk no) 85102935Sphk ;; 86102935Sphk *) 87102935Sphk AC_CHECK_HEADERS([readline.h readline/readline.h histedit.h]) 88102935Sphk AC_CHECK_HEADERS([history.h readline/history.h]) 89102935Sphk 90102935Sphk case "$ac_cv_header_histedit_h" in 91109327Sphk yes) 92109327Sphk AC_CACHE_CHECK( 93109327Sphk [number of arguments to el_init()], 94109327Sphk [ntp_cv_el_init_args], 95109327Sphk [AC_COMPILE_IFELSE( 96109327Sphk [AC_LANG_PROGRAM( 97109327Sphk [[ 98109327Sphk #include <stdio.h> 99102935Sphk #include <histedit.h> 100102935Sphk ]], 101109327Sphk [[ 102102935Sphk el_init("conftest", stdin, stdout, stderr); 103109327Sphk ]] 104102935Sphk )], 105102935Sphk [ntp_cv_el_init_args=4], 106102935Sphk [ntp_cv_el_init_args=3] 107109327Sphk )] 108109327Sphk ) 109109327Sphk AC_DEFINE_UNQUOTED( 110109327Sphk [EL_INIT_ARGS], 111109327Sphk [$ntp_cv_el_init_args], 112109327Sphk [number of args to el_init()] 113109327Sphk ) 114109327Sphk esac 115109327Sphk 116109327Sphk AC_MSG_CHECKING([whether readline supports history]) 117109327Sphk 118109327Sphk ntp_lib_lineedit_history="no" 119109327Sphk ORIG_LIBS="$LIBS" 120109327Sphk LIBS="$ORIG_LIBS $ntp_lib_lineedit" 121109327Sphk AC_TRY_LINK_FUNC([add_history], [ntp_lib_lineedit_history="yes"]) 122109327Sphk LIBS="$ORIG_LIBS" 123102934Sphk 124102934Sphk AC_MSG_RESULT([$ntp_lib_lineedit_history]) 125102934Sphk 126102934Sphk case "$ntp_lib_lineedit_history" in 127102934Sphk yes) 128102934Sphk AC_DEFINE([HAVE_READLINE_HISTORY], [1], 129103168Ssam [Define if your readline library has \`add_history']) 130103168Ssam esac 131102934Sphk esac # $ntp_lib_lineedit 132102934Sphk AS_UNSET([NTP_ORIG_LIBS]) 133102934Sphk AS_UNSET([ORIG_LIBS]) 134102934Sphk AS_UNSET([TRY_LIB]) 135102934Sphk AS_UNSET([use_lineeditlibs]) 136102934Sphk])dnl 137102934Sphk