Annotation of embedaddon/ntp/m4/ntp_lineeditlibs.m4, revision 1.1.1.1

1.1       misho       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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>