diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 68 |
1 files changed, 57 insertions, 11 deletions
diff --git a/configure.in b/configure.in index 183f0e9..b84452f 100644 --- a/configure.in +++ b/configure.in @@ -68,17 +68,13 @@ AC_DEFINE_UNQUOTED(ZEPHYR_INT32, ${int32}) AC_MSG_RESULT(${int32}) AC_CHECK_LIB(w, wslen) -AC_CHECK_LIB(dl, dlopen) +# XXX? AC_CHECK_LIB(dl, dlopen) AC_SEARCH_LIBS(gethostbyname, nsl) AC_SEARCH_LIBS(socket, socket) -# Hesiod needs -lresolv on Sun systems for res_send. -if test "$hesiod" != "no"; then - AC_CHECK_LIB(44bsd, strerror) - AC_CHECK_LIB(resolv, res_send) - AC_CHECK_LIB(resolv, __res_send) -fi +AC_CHECK_LIB(44bsd, strerror) + AC_CHECK_LIB(curses, tgetstr, [TLIB=-lcurses], [TLIB=-ltermcap]) AC_CHECK_LIB(src, srcsrpy, [SLIB=-lsrc; AC_DEFINE(HAVE_SRC)]) @@ -86,7 +82,31 @@ AC_SUBST(TLIB) AC_SUBST(RLIB) AC_SUBST(SLIB) -ATHENA_KRB4 +AC_ARG_WITH(krb4, + [ --with-krb4=PREFIX Use Kerberos 4], + [krb4="$withval"], [krb4=no]) +if test "$krb4" != no; then + AC_CHECK_FUNC(gethostbyname, :, AC_CHECK_LIB(nsl, gethostbyname)) + AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket)) + AC_CHECK_LIB(gen, compile) + if test "$krb4" != yes; then + CPPFLAGS="$CPPFLAGS -I$krb4/include" + if test -d "$krb4/include/kerberosIV"; then + CPPFLAGS="$CPPFLAGS -I$krb4/include/kerberosIV" + fi + LDFLAGS="$LDFLAGS -L$krb4/lib" + fi + AC_CHECK_LIB(krb4, krb_rd_req, + [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"], + [AC_CHECK_LIB(krb, krb_rd_req, + [KRB4_LIBS="-lkrb -ldes"], + [AC_MSG_ERROR(Kerberos 4 libraries not found)], + -ldes)], + -ldes425 -lkrb5 -lk5crypto -lcom_err) + AC_DEFINE(HAVE_KRB4) + LIBZEPHYR_LIBS="$LIBZEPHYR_LIBS $KRB4_LIBS" +fi +AC_SUBST(KRB4_LIBS) AC_ARG_WITH(krb5, [ --with-krb5=PREFIX Use Kerberos 5], @@ -113,20 +133,46 @@ if test "$krb5" != no; then KRB5_LIBS="-lkrb5 -lk5crypto -lcom_err" fi AC_DEFINE(HAVE_KRB5) + LIBZEPHYR_LIBS="$LIBZEPHYR_LIBS $KRB5_LIBS" + # the zephyr library needs -lresolv if it's built with krb5 + AC_CHECK_LIB(resolv, res_send, LIBZEPHYR_LIBS="-lresolv $LIBZEPHYR_LIBS", + AC_CHECK_LIB(resolv, __res_send, LIBZEPHYR_LIBS="-lresolv $LIBZEPHYR_LIBS", + AC_MSG_ERROR(Zephyr requires libresolv along with Kerberos V.))) case "$target_os" in darwin*) KRB5_LIBS="$KRB5_LIBS -framework Kerberos" ;; esac fi AC_SUBST(KRB5_LIBS) +AC_SUBST(LIBZEPHYR_LIBS) + ATHENA_HESIOD ATHENA_REGEXP ATHENA_UTIL_COM_ERR -ATHENA_UTIL_SS -LIBS="$KRB5_LIBS $KRB4_LIBS $HESIOD_LIBS $LIBS" + +AC_ARG_WITH(ss, + [ --with-ss=PREFIX Specify location of ss (requires com_err)], + [ss="$withval"], [ss=yes]) +if test "$ss" != no; then + if test "$ss" != yes; then + CPPFLAGS="$CPPFLAGS -I$ss/include" + LDFLAGS="$LDFLAGS -L$ss/lib" + fi + #XXX + #AC_CHECK_LIB(curses, initscr) + #AC_CHECK_LIB(readline, readline) + AC_CHECK_LIB(ss, ss_perror, SS_LIBS=-lss, + [AC_MSG_ERROR(ss library not found)], -lcom_err) + AC_SUBST(SS_LIBS) +else + AC_MSG_ERROR(This package requires ss.) +fi + +LIBS="$KRB5_LIBS $KRB4_LIBS $LIBS" dnl Checks for library functions. -AC_CHECK_FUNC(res_send, :, AC_CHECK_LIB(resolv, res_send)) +#XXX more looking for res_send +#AC_CHECK_FUNC(res_send, :, AC_CHECK_LIB(resolv, res_send)) AC_CHECK_LIB(cares, ares_getaddrinfo, [ARES_LIBS="-lcares" AC_DEFINE(HAVE_ARES)], |