diff --git a/configure.in b/configure.in index fd6b931a827e8c5118c8423fee47cc141da1a174..852e6b70a81d5a29a2e11b56708469390c373ed9 100644 --- a/configure.in +++ b/configure.in @@ -4,12 +4,15 @@ dnl $Id$ dnl Process this file with autoconf to produce a configure script. AC_INIT(src/lsh_types.h) -AM_INIT_AUTOMAKE(lsh, 1.0.5) +AM_INIT_AUTOMAKE(lsh, 1.0.6) dnl No real versioning yet, use dated snapshots instead. dnl AM_INIT_AUTOMAKE(lsh, esyscmd([date +snapshot-%Y-%m-%d])) AM_CONFIG_HEADER(config.h) +AC_DEFINE_UNQUOTED(PREFIX, "$prefix") + + dnl This macro turns of a the Makefile.in: Makefile.am dependencies, unless dnl --enable-maintainer-mode is passed to ./configure. But I want dnl maintainermode to be *on* by default. @@ -96,6 +99,10 @@ AC_ARG_ENABLE(srp, [--disable-srp Disable the (experimental) support for SRP],, [enable_srp=yes]) +AC_ARG_ENABLE(kerberos, + [--disable-kerberos Don't support kerberos],, + [enable_kerberos=yes]) + if test x$enable_srp = xyes ; then AC_DEFINE(WITH_SRP) fi @@ -266,6 +273,10 @@ fi AC_CHECK_HEADERS(utmpx.h) +if test x$enable_kerberos = xyes; then + AC_CHECK_HEADERS(krb5.h,, [enable_kerberos=no]) +fi + dnl Some systems (in particular, Unixware) doesn't have socklen_t, but dnl uses size_t. Falling back to int will cause some warnings. @@ -359,6 +370,26 @@ if test x$with_zlib = xyes ; then AC_DEFINE(WITH_ZLIB) fi +# The kerberos libraries are needed only to support the +# krb-check-passwd program, so we put them $KRB_LIBS, not in the +# ordinary $LIBS. + +if test x$enable_kerberos = xyes; then + AC_CHECK_KRB_LIB(roken, strlcpy) + AC_CHECK_KRB_LIB(resolv, dn_expand) + AC_CHECK_KRB_LIB(des, des_cbc_encrypt) + AC_CHECK_KRB_LIB(asn1, der_get_octet_string) + AC_CHECK_KRB_LIB(krb5, krb5_cc_gen_new,, [enable_kerberos=no]) +fi + +if test x$enable_kerberos = xyes; then + AC_DEFINE(WITH_KERBEROS) + KRB_PROGRAM=lsh-krb-checkpw +fi + +AC_SUBST(KRB_LIBS) +AC_SUBST(KRB_PROGRAM) + dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE