Blame src/configure.ac

Packit fd8b60
K5_AC_INIT([aclocal.m4])
Packit fd8b60
Packit fd8b60
# If $runstatedir isn't set by autoconf (<2.70), set it manually.
Packit fd8b60
if test x"$runstatedir" = x; then
Packit fd8b60
  runstatedir=$localstatedir/run
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(runstatedir)
Packit fd8b60
Packit fd8b60
# Don't make duplicate profile path entries for /etc/krb5.conf if
Packit fd8b60
# $sysconfdir is /etc
Packit fd8b60
if test "$sysconfdir" = /etc; then
Packit fd8b60
  SYSCONFCONF=""
Packit fd8b60
else
Packit fd8b60
  SYSCONFCONF=":${sysconfdir}/krb5.conf"
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(SYSCONFCONF)
Packit fd8b60
Packit fd8b60
CONFIG_RULES
Packit fd8b60
KRB5_VERSION=K5_VERSION
Packit fd8b60
AC_SUBST(KRB5_VERSION)
Packit fd8b60
Packit fd8b60
Packit fd8b60
AC_REQUIRE_CPP
Packit fd8b60
Packit fd8b60
PKG_PROG_PKG_CONFIG
Packit fd8b60
Packit fd8b60
AC_CHECK_HEADER([stdint.h], [],
Packit fd8b60
  [AC_MSG_ERROR([stdint.h is required])])
Packit fd8b60
Packit fd8b60
AC_CACHE_CHECK([whether integers are two's complement],
Packit fd8b60
  [krb5_cv_ints_twos_compl],
Packit fd8b60
  [AC_COMPILE_IFELSE(
Packit fd8b60
    [AC_LANG_BOOL_COMPILE_TRY(
Packit fd8b60
[#include <limits.h>
Packit fd8b60
],
Packit fd8b60
	[/* Basic two's complement check */
Packit fd8b60
	  ~(-1) == 0 && ~(-1L) == 0L &&
Packit fd8b60
	  /* Check that values with sign bit 1 and value bits 0 are valid */
Packit fd8b60
	  -(INT_MIN + 1) == INT_MAX && -(LONG_MIN + 1) == LONG_MAX &&
Packit fd8b60
	  /* Check that unsigned-to-signed conversions preserve bit patterns */
Packit fd8b60
	  (int)((unsigned int)INT_MAX + 1) == INT_MIN &&
Packit fd8b60
	  (long)((unsigned long)LONG_MAX + 1) == LONG_MIN])],
Packit fd8b60
    [krb5_cv_ints_twos_compl=yes],
Packit fd8b60
    [krb5_cv_ints_twos_compl=no])])
Packit fd8b60
Packit fd8b60
if test "$krb5_cv_ints_twos_compl" = "no"; then
Packit fd8b60
  AC_MSG_ERROR([integers are not two's complement])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
AC_CACHE_CHECK([whether CHAR_BIT is 8],
Packit fd8b60
  [krb5_cv_char_bit_8],
Packit fd8b60
  [AC_PREPROC_IFELSE([AC_LANG_SOURCE(
Packit fd8b60
[[#include <limits.h>
Packit fd8b60
#if CHAR_BIT != 8
Packit fd8b60
  #error CHAR_BIT != 8
Packit fd8b60
#endif
Packit fd8b60
]])],
Packit fd8b60
    [krb5_cv_char_bit_8=yes], [krb5_cv_char_bit_8=no])])
Packit fd8b60
Packit fd8b60
if test "$krb5_cv_char_bit_8" = "no"; then
Packit fd8b60
  AC_MSG_ERROR([CHAR_BIT is not 8])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
AC_CACHE_CHECK(if va_copy is available, krb5_cv_va_copy,
Packit fd8b60
[AC_LINK_IFELSE([AC_LANG_SOURCE([
Packit fd8b60
#include <stdarg.h>
Packit fd8b60
void f(va_list ap) {
Packit fd8b60
  va_list ap2;
Packit fd8b60
  va_copy(ap2, ap);
Packit fd8b60
  va_end(ap2);
Packit fd8b60
}
Packit fd8b60
va_list x;
Packit fd8b60
int main()
Packit fd8b60
{
Packit fd8b60
  f(x);
Packit fd8b60
  return 0;
Packit fd8b60
}])], krb5_cv_va_copy=yes, krb5_cv_va_copy=no)])
Packit fd8b60
if test "$krb5_cv_va_copy" = yes; then
Packit fd8b60
  AC_DEFINE(HAS_VA_COPY,1,[Define if va_copy macro or function is available.])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# Note that this isn't checking if the copied value *works*, just
Packit fd8b60
# whether the C language constraints permit the copying.  If
Packit fd8b60
# va_list is defined as an array type, it can't be assigned.
Packit fd8b60
AC_CACHE_CHECK(if va_list objects can be copied by assignment,
Packit fd8b60
	       krb5_cv_va_simple_copy,
Packit fd8b60
[AC_COMPILE_IFELSE([
Packit fd8b60
AC_LANG_SOURCE([#include <stdarg.h>
Packit fd8b60
void f(va_list va2) {
Packit fd8b60
  va_list va1;
Packit fd8b60
  va1 = va2;
Packit fd8b60
}])], krb5_cv_va_simple_copy=yes, krb5_cv_va_simple_copy=no)])
Packit fd8b60
if test "$krb5_cv_va_simple_copy" = yes; then
Packit fd8b60
  AC_DEFINE(CAN_COPY_VA_LIST,1,[Define if va_list objects can be simply copied by assignment.])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# The following lines are so that configure --help gives some global
Packit fd8b60
# configuration options.
Packit fd8b60
Packit fd8b60
KRB5_LIB_AUX
Packit fd8b60
AC_KRB5_TCL
Packit fd8b60
AC_ARG_ENABLE([athena],
Packit fd8b60
[  --enable-athena         build with MIT Project Athena configuration],,)
Packit fd8b60
Packit fd8b60
# Begin autoconf tests for the Makefiles generated out of the top-level
Packit fd8b60
# configure.in...
Packit fd8b60
Packit fd8b60
KRB5_BUILD_LIBOBJS
Packit fd8b60
KRB5_BUILD_LIBRARY
Packit fd8b60
KRB5_BUILD_PROGRAM
Packit fd8b60
# for kprop
Packit fd8b60
AC_TYPE_MODE_T
Packit fd8b60
AC_PROG_INSTALL
Packit fd8b60
KRB5_AC_NEED_DAEMON
Packit fd8b60
KRB5_GETSOCKNAME_ARGS
Packit fd8b60
KRB5_GETPEERNAME_ARGS
Packit fd8b60
LIBUTIL=
Packit fd8b60
AC_CHECK_LIB(util,main,[AC_DEFINE(HAVE_LIBUTIL,1,[Define if the util library is available])
Packit fd8b60
LIBUTIL=-lutil
Packit fd8b60
])
Packit fd8b60
AC_SUBST(LIBUTIL)
Packit fd8b60
Packit fd8b60
# Determine if NLS is desired and supported.
Packit fd8b60
po=
Packit fd8b60
AC_ARG_ENABLE([nls],
Packit fd8b60
AC_HELP_STRING([--disable-nls], [disable native language support]),
Packit fd8b60
              [], [enable_nls=check])
Packit fd8b60
if test "$enable_nls" != no; then
Packit fd8b60
  AC_CHECK_HEADER(libintl.h, [
Packit fd8b60
    AC_SEARCH_LIBS(dgettext, intl, [
Packit fd8b60
      AC_DEFINE(ENABLE_NLS, 1,
Packit fd8b60
                [Define if translation functions should be used.])
Packit fd8b60
      nls_enabled=yes])])
Packit fd8b60
Packit fd8b60
  AC_CHECK_PROG(MSGFMT,msgfmt,msgfmt)
Packit fd8b60
  if test x"$MSGFMT" != x; then
Packit fd8b60
    K5_GEN_MAKEFILE(po)
Packit fd8b60
    po=po
Packit fd8b60
  fi
Packit fd8b60
Packit fd8b60
  # Error out if --enable-nls was explicitly requested but can't be enabled.
Packit fd8b60
  if test "$enable_nls" = yes; then
Packit fd8b60
    if test "$nls_enabled" != yes -o "x$po" = x; then
Packit fd8b60
      AC_MSG_ERROR([NLS support requested but cannot be built])
Packit fd8b60
    fi
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(po)
Packit fd8b60
Packit fd8b60
# for kdc
Packit fd8b60
AC_CHECK_HEADERS(sys/sockio.h ifaddrs.h unistd.h fnmatch.h)
Packit fd8b60
AC_CHECK_FUNCS(vsprintf vasprintf vsnprintf strlcpy fnmatch secure_getenv)
Packit fd8b60
Packit fd8b60
EXTRA_SUPPORT_SYMS=
Packit fd8b60
AC_CHECK_FUNC(strlcpy,
Packit fd8b60
[STRLCPY_ST_OBJ=
Packit fd8b60
STRLCPY_OBJ=],
Packit fd8b60
[STRLCPY_ST_OBJ=strlcpy.o
Packit fd8b60
STRLCPY_OBJ='$(OUTPRE)strlcpy.$(OBJEXT)'
Packit fd8b60
EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS krb5int_strlcpy krb5int_strlcat"])
Packit fd8b60
AC_SUBST(STRLCPY_OBJ)
Packit fd8b60
AC_SUBST(STRLCPY_ST_OBJ)
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(getopt,
Packit fd8b60
[GETOPT_ST_OBJ=
Packit fd8b60
GETOPT_OBJ=
Packit fd8b60
AC_DEFINE(HAVE_GETOPT, 1, [Define if system getopt should be used.])],
Packit fd8b60
[GETOPT_ST_OBJ='getopt.o'
Packit fd8b60
GETOPT_OBJ='$(OUTPRE)getopt.$(OBJEXT)'
Packit fd8b60
EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS k5_optind k5_optarg k5_opterr k5_optopt k5_getopt"])
Packit fd8b60
AC_SUBST(GETOPT_OBJ)
Packit fd8b60
AC_SUBST(GETOPT_ST_OBJ)
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(getopt_long,
Packit fd8b60
[GETOPT_LONG_ST_OBJ=
Packit fd8b60
GETOPT_LONG_OBJ=
Packit fd8b60
AC_DEFINE(HAVE_GETOPT_LONG, 1, [Define if system getopt_long should be used.])],
Packit fd8b60
[GETOPT_LONG_ST_OBJ='getopt_long.o'
Packit fd8b60
GETOPT_LONG_OBJ='$(OUTPRE)getopt_long.$(OBJEXT)'
Packit fd8b60
EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS k5_getopt_long"])
Packit fd8b60
AC_SUBST(GETOPT_LONG_OBJ)
Packit fd8b60
AC_SUBST(GETOPT_LONG_ST_OBJ)
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(fnmatch,
Packit fd8b60
[FNMATCH_ST_OBJ=
Packit fd8b60
FNMATCH_OBJ=],
Packit fd8b60
[FNMATCH_ST_OBJ=fnmatch.o
Packit fd8b60
FNMATCH_OBJ='$(OUTPRE)fnmatch.$(OBJEXT)'
Packit fd8b60
EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS k5_fnmatch"])
Packit fd8b60
AC_SUBST(FNMATCH_OBJ)
Packit fd8b60
AC_SUBST(FNMATCH_ST_OBJ)
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(vasprintf,
Packit fd8b60
[PRINTF_ST_OBJ=
Packit fd8b60
PRINTF_OBJ=],
Packit fd8b60
[PRINTF_ST_OBJ=printf.o
Packit fd8b60
PRINTF_OBJ='$(OUTPRE)printf.$(OBJEXT)'
Packit fd8b60
EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS krb5int_asprintf krb5int_vasprintf"])
Packit fd8b60
AC_SUBST(PRINTF_OBJ)
Packit fd8b60
AC_SUBST(PRINTF_ST_OBJ)
Packit fd8b60
KRB5_NEED_PROTO([#include <stdarg.h>
Packit fd8b60
#include <stdio.h>
Packit fd8b60
],vasprintf)
Packit fd8b60
KRB5_NEED_PROTO([#include <string.h>
Packit fd8b60
#ifdef HAVE_UNISTD_H
Packit fd8b60
#include <unistd.h>
Packit fd8b60
#endif
Packit fd8b60
/* Solaris 8 declares swab in stdlib.h.  */
Packit fd8b60
#include <stdlib.h>
Packit fd8b60
],swab,1)
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(secure_getenv,
Packit fd8b60
[SECURE_GETENV_ST_OBJ=
Packit fd8b60
SECURE_GETENV_OBJ=
Packit fd8b60
SECURE_GETENV_INIT=],
Packit fd8b60
[SECURE_GETENV_ST_OBJ=secure_getenv.o
Packit fd8b60
SECURE_GETENV_OBJ='$(OUTPRE)secure_getenv.$(OBJEXT)'
Packit fd8b60
SECURE_GETENV_INIT=k5_secure_getenv_init
Packit fd8b60
EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS k5_secure_getenv"])
Packit fd8b60
AC_SUBST(SECURE_GETENV_OBJ)
Packit fd8b60
AC_SUBST(SECURE_GETENV_ST_OBJ)
Packit fd8b60
AC_SUBST(SECURE_GETENV_INIT)
Packit fd8b60
Packit fd8b60
AC_PROG_AWK
Packit fd8b60
KRB5_AC_INET6
Packit fd8b60
KRB5_SOCKADDR_SA_LEN
Packit fd8b60
CHECK_SIGNALS
Packit fd8b60
Packit fd8b60
# --with-vague-errors disables useful error messages.
Packit fd8b60
Packit fd8b60
AC_ARG_WITH([vague-errors],
Packit fd8b60
AC_HELP_STRING([--with-vague-errors],[Do not @<:@do@:>@ send helpful errors to client]), , withval=no)
Packit fd8b60
if test "$withval" = yes; then
Packit fd8b60
	AC_MSG_NOTICE(Supplying vague error messages to KDC clients)
Packit fd8b60
	AC_DEFINE(KRBCONF_VAGUE_ERRORS,1,[Define if the KDC should return only vague error codes to clients])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# Check which (if any) audit plugin to build
Packit fd8b60
audit_plugin=""
Packit fd8b60
AC_ARG_ENABLE([audit-plugin],
Packit fd8b60
AC_HELP_STRING([--enable-audit-plugin=IMPL],
Packit fd8b60
               [use audit plugin @<:@ do not use audit @:>@]), , enableval=no)
Packit fd8b60
if test "$enableval" != no; then
Packit fd8b60
    case "$enableval" in
Packit fd8b60
    simple)
Packit fd8b60
        # if audit_log_user_message is found, we assume
Packit fd8b60
        # that audit_open and audit_close are also defined.
Packit fd8b60
        AC_CHECK_LIB(audit, audit_log_user_message,
Packit fd8b60
                     [AUDIT_IMPL_LIBS=-laudit
Packit fd8b60
                     K5_GEN_MAKEFILE(plugins/audit/simple)
Packit fd8b60
                     audit_plugin=plugins/audit/simple ],
Packit fd8b60
                     AC_MSG_ERROR([libaudit not found or undefined symbol audit_log_user_message]))
Packit fd8b60
        ;;
Packit fd8b60
    *)
Packit fd8b60
        AC_MSG_ERROR([Unknown audit plugin implementation $enableval.])
Packit fd8b60
        ;;
Packit fd8b60
    esac
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(AUDIT_IMPL_LIBS)
Packit fd8b60
AC_SUBST(audit_plugin)
Packit fd8b60
Packit fd8b60
# WITH_CRYPTO_IMPL
Packit fd8b60
Packit fd8b60
CRYPTO_IMPL="builtin"
Packit fd8b60
AC_ARG_WITH([crypto-impl],
Packit fd8b60
AC_HELP_STRING([--with-crypto-impl=IMPL], [use specified crypto implementation @<:@builtin@:>@]),
Packit fd8b60
[CRYPTO_IMPL=$withval
Packit fd8b60
AC_MSG_NOTICE(k5crypto will use '$withval')
Packit fd8b60
], withval=builtin)
Packit fd8b60
case "$withval" in
Packit fd8b60
builtin)
Packit fd8b60
  ;;
Packit fd8b60
openssl)
Packit fd8b60
  AC_CHECK_LIB(crypto, PKCS7_get_signer_info)
Packit fd8b60
  ;;
Packit fd8b60
*)
Packit fd8b60
  AC_MSG_ERROR([Unknown crypto implementation $withval])
Packit fd8b60
  ;;
Packit fd8b60
esac
Packit fd8b60
AC_CONFIG_COMMANDS(CRYPTO_IMPL, , CRYPTO_IMPL=$CRYPTO_IMPL)
Packit fd8b60
AC_SUBST(CRYPTO_IMPL)
Packit fd8b60
AC_SUBST(CRYPTO_IMPL_CFLAGS)
Packit fd8b60
AC_SUBST(CRYPTO_IMPL_LIBS)
Packit fd8b60
rpm-build 814793
AC_CHECK_FUNCS(EVP_KDF_CTX_new_id EVP_KDF_ctrl EVP_KDF_derive,
rpm-build 814793
               AC_DEFINE(OSSL_KDFS, 1, [Define if using OpenSSL KDFs]),
rpm-build 814793
               AC_MSG_ERROR([backported OpenSSL KDFs not found]))
rpm-build 814793
Packit fd8b60
AC_ARG_WITH([prng-alg],
Packit fd8b60
AC_HELP_STRING([--with-prng-alg=ALG], [use specified PRNG algorithm. @<:@fortuna@:>@]),
Packit fd8b60
[PRNG_ALG=$withval
Packit fd8b60
AC_MSG_NOTICE(k5crypto will use '$withval')
Packit fd8b60
], PRNG_ALG=fortuna)
Packit fd8b60
AC_CONFIG_COMMANDS(PRNG_ALG, , PRNG_ALG=$PRNG_ALG)
Packit fd8b60
AC_SUBST(PRNG_ALG)
Packit fd8b60
if test "$PRNG_ALG" = fortuna; then
Packit fd8b60
	AC_DEFINE(FORTUNA,1,[Define if Fortuna PRNG is selected])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# WITH_TLS_IMPL
Packit fd8b60
Packit fd8b60
AC_ARG_WITH([tls-impl],
Packit fd8b60
AC_HELP_STRING([--with-tls-impl=IMPL],
Packit fd8b60
               [use specified TLS implementation @<:@auto@:>@]),
Packit fd8b60
[TLS_IMPL=$withval],[TLS_IMPL=auto])
Packit fd8b60
case "$TLS_IMPL" in
Packit fd8b60
openssl|auto)
Packit fd8b60
  AC_CHECK_LIB(ssl,SSL_CTX_new,[have_lib_ssl=true],[have_lib_ssl=false],
Packit fd8b60
               -lcrypto)
Packit fd8b60
  AC_MSG_CHECKING([for OpenSSL])
Packit fd8b60
  if test x$have_lib_ssl = xtrue ; then
Packit fd8b60
    AC_DEFINE(TLS_IMPL_OPENSSL,1,[Define if TLS implementation is OpenSSL])
Packit fd8b60
    AC_MSG_RESULT([yes])
Packit fd8b60
    TLS_IMPL_LIBS="-lssl -lcrypto"
Packit fd8b60
    TLS_IMPL=openssl
Packit fd8b60
    AC_MSG_NOTICE([TLS module will use OpenSSL])
Packit fd8b60
  else
Packit fd8b60
    if test "$TLS_IMPL" = openssl ; then
Packit fd8b60
      AC_MSG_ERROR([OpenSSL not found!])
Packit fd8b60
    else
Packit fd8b60
      AC_MSG_WARN([OpenSSL not found!])
Packit fd8b60
    fi
Packit fd8b60
    TLS_IMPL=no
Packit fd8b60
    AC_MSG_NOTICE(building without TLS support)
Packit fd8b60
  fi
Packit fd8b60
  ;;
Packit fd8b60
no)
Packit fd8b60
  AC_MSG_NOTICE(building without TLS support)
Packit fd8b60
  ;;
Packit fd8b60
*)
Packit fd8b60
  AC_MSG_ERROR([Unsupported TLS implementation $withval])
Packit fd8b60
  ;;
Packit fd8b60
esac
Packit fd8b60
Packit fd8b60
if test "$TLS_IMPL" = no; then
Packit fd8b60
   AC_DEFINE(TLS_IMPL_NONE,1,[Define if no TLS implementation is selected])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
AC_SUBST(TLS_IMPL)
Packit fd8b60
AC_SUBST(TLS_IMPL_CFLAGS)
Packit fd8b60
AC_SUBST(TLS_IMPL_LIBS)
Packit fd8b60
Packit fd8b60
AC_ARG_WITH([keyutils],
Packit fd8b60
AC_HELP_STRING([--without-keyutils],[do not link with libkeyutils]),
Packit fd8b60
            [], [with_keyutils=check])
Packit fd8b60
if test "$with_keyutils" != no; then
Packit fd8b60
  have_keyutils=false
Packit fd8b60
  AC_CHECK_HEADERS([keyutils.h],
Packit fd8b60
    AC_CHECK_LIB(keyutils, add_key, [have_keyutils=true]))
Packit fd8b60
  if test "$have_keyutils" = true; then
Packit fd8b60
    AC_DEFINE(USE_KEYRING_CCACHE, 1,
Packit fd8b60
              [Define if the keyring ccache should be enabled])
Packit fd8b60
    LIBS="-lkeyutils $LIBS"
Packit fd8b60
    # If libkeyutils supports persistent keyrings, use them.
Packit fd8b60
    AC_CHECK_LIB(keyutils, keyctl_get_persistent,
Packit fd8b60
      [AC_DEFINE(HAVE_PERSISTENT_KEYRING, 1,
Packit fd8b60
                 [Define if persistent keyrings are supported])
Packit fd8b60
      ])
Packit fd8b60
  elif test "$with_keyutils" = yes; then
Packit fd8b60
    AC_MSG_ERROR([libkeyutils not found])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# The SPAKE preauth plugin currently supports edwards25519 natively,
Packit fd8b60
# and can support three NIST groups using OpenSSL.
Packit fd8b60
HAVE_SPAKE_OPENSSL=no
Packit fd8b60
AC_ARG_WITH([spake-openssl],
Packit fd8b60
AC_HELP_STRING([--with-spake-openssl],
Packit fd8b60
               [use OpenSSL for SPAKE preauth @<:@auto@:>@]),,[withval=auto])
Packit fd8b60
if test "$withval" = auto -o "$withval" = yes; then
Packit fd8b60
  AC_CHECK_LIB([crypto],[EC_POINT_new],[have_crypto=true],[have_crypto=false])
Packit fd8b60
  if test "$have_crypto" = true; then
Packit fd8b60
    AC_DEFINE(SPAKE_OPENSSL,1,[Define to use OpenSSL for SPAKE preauth])
Packit fd8b60
    SPAKE_OPENSSL_LIBS=-lcrypto
Packit fd8b60
    HAVE_SPAKE_OPENSSL=yes
Packit fd8b60
  elif test "$withval" = yes; then
Packit fd8b60
    AC_MSG_ERROR([OpenSSL libcrypto not found])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(HAVE_SPAKE_OPENSSL)
Packit fd8b60
AC_SUBST(SPAKE_OPENSSL_LIBS)
Packit fd8b60
Packit fd8b60
AC_ARG_ENABLE([aesni],
Packit fd8b60
AC_HELP_STRING([--disable-aesni],[Do not build with AES-NI support]), ,
Packit fd8b60
enable_aesni=check)
Packit fd8b60
if test "$CRYPTO_IMPL" = builtin -a "x$enable_aesni" != xno; then
Packit fd8b60
    case "$host" in
Packit fd8b60
    i686-*)
Packit fd8b60
	aesni_obj=iaesx86.o
Packit fd8b60
	aesni_machine=x86
Packit fd8b60
	;;
Packit fd8b60
    x86_64-*)
Packit fd8b60
	aesni_obj=iaesx64.o
Packit fd8b60
	aesni_machine=amd64
Packit fd8b60
	;;
Packit fd8b60
    esac
Packit fd8b60
    case "$host" in
Packit fd8b60
    *-*-linux* | *-*-gnu* | *-*-*bsd* | *-*-solaris*)
Packit fd8b60
	# All Unix-like platforms need -D__linux__ for iaesx64.s to
Packit fd8b60
	# use the System V x86-64 calling convention.
Packit fd8b60
	aesni_flags="-D__linux__ -f elf -m $aesni_machine"
Packit fd8b60
	;;
Packit fd8b60
    esac
Packit fd8b60
    if test "x$aesni_obj" != x && test "x$aesni_flags" != x; then
Packit fd8b60
	AC_CHECK_PROG(YASM,yasm,yasm)
Packit fd8b60
	AC_CHECK_HEADERS(cpuid.h)
Packit fd8b60
	if test x"$YASM" != x -a "x$ac_cv_header_cpuid_h" = xyes; then
Packit fd8b60
	    AESNI_OBJ=$aesni_obj
Packit fd8b60
	    AESNI_FLAGS=$aesni_flags
Packit fd8b60
	    AC_DEFINE(AESNI,1,[Define if AES-NI support is enabled])
Packit fd8b60
	    AC_MSG_NOTICE([Building with AES-NI support])
Packit fd8b60
	fi
Packit fd8b60
    fi
Packit fd8b60
    if test "x$enable_aesni" = xyes -a "x$AESNI_OBJ" = x; then
Packit fd8b60
	AC_MSG_ERROR([AES-NI support requested but cannot be built])
Packit fd8b60
    fi
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(AESNI_OBJ)
Packit fd8b60
AC_SUBST(AESNI_FLAGS)
Packit fd8b60
Packit fd8b60
AC_ARG_ENABLE([kdc-lookaside-cache],
Packit fd8b60
AC_HELP_STRING([--disable-kdc-lookaside-cache],
Packit fd8b60
               [Disable the cache which detects client retransmits]), ,
Packit fd8b60
               enableval=yes)
Packit fd8b60
if test "$enableval" = no ; then
Packit fd8b60
	AC_DEFINE(NOCACHE,1,[Define if the KDC should use no lookaside cache])
Packit fd8b60
fi
Packit fd8b60
KRB5_RUN_FLAGS
Packit fd8b60
Packit fd8b60
# asan is a gcc and clang facility to instrument the code with memory
Packit fd8b60
# error checking.  To use it, we compile C and C++ source files with
Packit fd8b60
# -fsanitize=address, and set ASAN=yes to suppress the undefined
Packit fd8b60
# symbols check when building shared libraries.
Packit fd8b60
AC_ARG_ENABLE([asan],
Packit fd8b60
AC_HELP_STRING([--enable-asan],[Build with asan memory checking]),[],
Packit fd8b60
               [enable_asan=no])
Packit fd8b60
if test "$enable_asan" != no; then
Packit fd8b60
    if test "$enable_asan" = yes; then
Packit fd8b60
        enable_asan=address
Packit fd8b60
    fi
Packit fd8b60
    ASAN_FLAGS="$DEFS -fsanitize=$enable_asan"
Packit fd8b60
    ASAN=yes
Packit fd8b60
    UNDEF_CHECK=
Packit fd8b60
else
Packit fd8b60
    ASAN_FLAGS=
Packit fd8b60
    ASAN=no
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(ASAN_FLAGS)
Packit fd8b60
AC_SUBST(ASAN)
Packit fd8b60
Packit fd8b60
AC_TYPE_SIGNAL
Packit fd8b60
Packit fd8b60
# from old include/configure.in
Packit fd8b60
AH_TEMPLATE([HAVE_STRUCT_SOCKADDR_STORAGE],
Packit fd8b60
[Define if "struct sockaddr_storage" is available.])
Packit fd8b60
Packit fd8b60
AC_CONFIG_HEADERS(include/autoconf.h, [echo timestamp > include/autoconf.stamp])
Packit fd8b60
AC_PROG_LEX
Packit fd8b60
AC_C_CONST
Packit fd8b60
AC_HEADER_DIRENT
Packit fd8b60
AC_FUNC_STRERROR_R
Packit fd8b60
AC_CHECK_FUNCS(strdup setvbuf seteuid setresuid setreuid setegid setresgid setregid setsid flock fchmod chmod strptime geteuid setenv unsetenv getenv gmtime_r localtime_r bswap16 bswap64 mkstemp getusershell access getcwd srand48 srand srandom stat strchr strerror timegm explicit_bzero explicit_memset getresuid getresgid)
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(mkstemp,
Packit fd8b60
[MKSTEMP_ST_OBJ=
Packit fd8b60
MKSTEMP_OBJ=],
Packit fd8b60
[MKSTEMP_ST_OBJ='mkstemp.o'
Packit fd8b60
MKSTEMP_OBJ='$(OUTPRE)mkstemp.$(OBJEXT)'
Packit fd8b60
EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS krb5int_mkstemp"])
Packit fd8b60
AC_SUBST(MKSTEMP_OBJ)
Packit fd8b60
AC_SUBST(MKSTEMP_ST_OBJ)
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(gettimeofday,
Packit fd8b60
	[GETTIMEOFDAY_ST_OBJ=
Packit fd8b60
	GETTIMEOFDAY_OBJ=
Packit fd8b60
	AC_DEFINE(HAVE_GETTIMEOFDAY, 1, [Have the gettimeofday function])
Packit fd8b60
],
Packit fd8b60
	[GETTIMEOFDAY_ST_OBJ='gettimeofday.o'
Packit fd8b60
	GETTIMEOFDAY_OBJ='$(OUTPRE)gettimeofday.$(OBJEXT)'
Packit fd8b60
	EXTRA_SUPPORT_SYMS="$EXTRA_SUPPORT_SYMS krb5int_gettimeofday"])
Packit fd8b60
AC_SUBST(GETTIMEOFDAY_OBJ)
Packit fd8b60
AC_SUBST(GETTIMEOFDAY_ST_OBJ)
Packit fd8b60
AC_SUBST(EXTRA_SUPPORT_SYMS)
Packit fd8b60
Packit fd8b60
DECLARE_SYS_ERRLIST
Packit fd8b60
AC_CHECK_HEADERS(unistd.h paths.h regex.h regexpr.h fcntl.h memory.h ifaddrs.h sys/filio.h byteswap.h machine/endian.h machine/byte_order.h sys/bswap.h endian.h pwd.h arpa/inet.h alloca.h dlfcn.h limits.h)
Packit fd8b60
AC_CHECK_HEADER(regexp.h, [], [],
Packit fd8b60
[#define INIT char *sp = instring;
Packit fd8b60
#define GETC() (*sp++)
Packit fd8b60
#define PEEKC() (*sp)
Packit fd8b60
#define UNGETC(c) (--sp)
Packit fd8b60
#define RETURN(c) return(c)
Packit fd8b60
#define ERROR(c)
Packit fd8b60
])
Packit fd8b60
AC_CHECK_MEMBERS([struct stat.st_mtimensec,struct stat.st_mtimespec.tv_nsec,struct stat.st_mtim.tv_nsec],,,[#include <sys/types.h>
Packit fd8b60
#include <sys/stat.h>])
Packit fd8b60
KRB5_AC_REGEX_FUNCS
Packit fd8b60
AC_TYPE_OFF_T
Packit fd8b60
Packit fd8b60
# Fancy caching of perror result...
Packit fd8b60
AC_MSG_CHECKING(for perror declaration)
Packit fd8b60
AC_CACHE_VAL(krb5_cv_decl_perror,
Packit fd8b60
[AC_EGREP_HEADER(perror, errno.h,
Packit fd8b60
  krb5_cv_decl_perror=yes, krb5_cv_decl_perror=no)])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_decl_perror)
Packit fd8b60
if test $krb5_cv_decl_perror = yes; then
Packit fd8b60
	AC_DEFINE(HDR_HAS_PERROR,1,[Define if errno.h declares perror])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
KRB5_NEED_PROTO([#include <time.h>],strptime)
Packit fd8b60
CHECK_WAIT_TYPE
Packit fd8b60
CHECK_SIGPROCMASK
Packit fd8b60
AC_TYPE_GETGROUPS
Packit fd8b60
CHECK_SETJMP
Packit fd8b60
Packit fd8b60
# *rpcent return types needed for lib/rpc
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING([return type of setrpcent])
Packit fd8b60
AC_CACHE_VAL(k5_cv_type_setrpcent,
Packit fd8b60
[AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
#ifdef __cplusplus
Packit fd8b60
extern "C"
Packit fd8b60
#endif
Packit fd8b60
extern void setrpcent();],
Packit fd8b60
[int i;], k5_cv_type_setrpcent=void, k5_cv_type_setrpcent=int)])
Packit fd8b60
AC_MSG_RESULT($k5_cv_type_setrpcent)
Packit fd8b60
AC_DEFINE_UNQUOTED(SETRPCENT_TYPE, $k5_cv_type_setrpcent, [Define as return type of setrpcent])
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING([return type of endrpcent])
Packit fd8b60
AC_CACHE_VAL(k5_cv_type_endrpcent,
Packit fd8b60
[AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
#ifdef __cplusplus
Packit fd8b60
extern "C"
Packit fd8b60
#endif
Packit fd8b60
extern void endrpcent();],
Packit fd8b60
[int i;], k5_cv_type_endrpcent=void, k5_cv_type_endrpcent=int)])
Packit fd8b60
AC_MSG_RESULT($k5_cv_type_endrpcent)
Packit fd8b60
AC_DEFINE_UNQUOTED(ENDRPCENT_TYPE, $k5_cv_type_endrpcent, [Define as return type of endrpcent])
Packit fd8b60
Packit fd8b60
Packit fd8b60
# bswap_16 is a macro in byteswap.h under GNU libc
Packit fd8b60
AC_MSG_CHECKING(for bswap_16)
Packit fd8b60
AC_CACHE_VAL(krb5_cv_bswap_16,[
Packit fd8b60
AC_TRY_LINK([#if HAVE_BYTESWAP_H
Packit fd8b60
#include <byteswap.h>
Packit fd8b60
#endif],[bswap_16(37);],krb5_cv_bswap_16=yes,krb5_cv_bswap_16=no)])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_bswap_16)
Packit fd8b60
if test "$krb5_cv_bswap_16" = yes; then
Packit fd8b60
  AC_DEFINE(HAVE_BSWAP_16,1,[Define to 1 if bswap_16 is available via byteswap.h])
Packit fd8b60
fi
Packit fd8b60
AC_MSG_CHECKING(for bswap_64)
Packit fd8b60
AC_CACHE_VAL(krb5_cv_bswap_64,[
Packit fd8b60
AC_TRY_LINK([#if HAVE_BYTESWAP_H
Packit fd8b60
#include <byteswap.h>
Packit fd8b60
#endif],[bswap_64(37);],krb5_cv_bswap_64=yes,krb5_cv_bswap_64=no)])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_bswap_64)
Packit fd8b60
if test "$krb5_cv_bswap_64" = yes; then
Packit fd8b60
  AC_DEFINE(HAVE_BSWAP_64,1,[Define to 1 if bswap_64 is available via byteswap.h])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# Needed for ksu and some appl stuff.
Packit fd8b60
Packit fd8b60
case $krb5_cv_host in
Packit fd8b60
alpha*-dec-osf*)
Packit fd8b60
	AC_CHECK_LIB(security,setluid,
Packit fd8b60
		AC_DEFINE(HAVE_SETLUID,1,[Define if setluid provided in OSF/1 security library])
Packit fd8b60
		KSU_LIBS="-lsecurity"
Packit fd8b60
	)
Packit fd8b60
	;;
Packit fd8b60
esac
Packit fd8b60
AC_SUBST(KSU_LIBS)
Packit fd8b60
Packit fd8b60
if test $ac_cv_func_setenv = no || test $ac_cv_func_unsetenv = no \
Packit fd8b60
  || test $ac_cv_func_getenv = no; then
Packit fd8b60
  SETENVOBJ=setenv.o
Packit fd8b60
else
Packit fd8b60
  SETENVOBJ=
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(SETENVOBJ)
Packit fd8b60
Packit fd8b60
# Check what the return types for gethostbyname_r and getservbyname_r are.
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(gethostbyname_r,[
Packit fd8b60
ac_cv_func_gethostbyname_r=yes
Packit fd8b60
if test "$ac_cv_func_gethostbyname_r" = yes; then
Packit fd8b60
  AC_MSG_CHECKING([if gethostbyname_r returns an int])
Packit fd8b60
  AC_CACHE_VAL(krb5_cv_gethostbyname_r_returns_int,
Packit fd8b60
  [AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
  extern int gethostbyname_r ();], [1;],
Packit fd8b60
  krb5_cv_gethostbyname_r_returns_int=yes,
Packit fd8b60
  krb5_cv_gethostbyname_r_returns_int=no)])
Packit fd8b60
  AC_MSG_RESULT($krb5_cv_gethostbyname_r_returns_int)
Packit fd8b60
Packit fd8b60
  AC_MSG_CHECKING([if gethostbyname_r returns a pointer])
Packit fd8b60
  AC_CACHE_VAL(krb5_cv_gethostbyname_r_returns_ptr,
Packit fd8b60
  [AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
  extern struct hostent *gethostbyname_r ();], [1;],
Packit fd8b60
  krb5_cv_gethostbyname_r_returns_ptr=yes,
Packit fd8b60
  krb5_cv_gethostbyname_r_returns_ptr=no)])
Packit fd8b60
  AC_MSG_RESULT($krb5_cv_gethostbyname_r_returns_ptr)
Packit fd8b60
Packit fd8b60
  if test "$krb5_cv_gethostbyname_r_returns_int" = "$krb5_cv_gethostbyname_r_returns_ptr"; then
Packit fd8b60
    AC_MSG_WARN(cannot determine return type of gethostbyname_r -- disabling)
Packit fd8b60
    ac_cv_func_gethostbyname_r=no
Packit fd8b60
  fi
Packit fd8b60
  if test "$krb5_cv_gethostbyname_r_returns_int" = yes; then
Packit fd8b60
    AC_DEFINE(GETHOSTBYNAME_R_RETURNS_INT, 1, [Define if gethostbyname_r returns int rather than struct hostent * ])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
if test "$ac_cv_func_gethostbyname_r" = yes; then
Packit fd8b60
  AC_DEFINE(HAVE_GETHOSTBYNAME_R, 1, [Define if gethostbyname_r exists and its return type is known])
Packit fd8b60
  AC_CHECK_FUNC(gethostbyaddr_r)
Packit fd8b60
fi
Packit fd8b60
])
Packit fd8b60
Packit fd8b60
Packit fd8b60
# PTHREAD_CFLAGS changes which variant of these functions is declared
Packit fd8b60
# on Solaris 11, so use it for these tests.
Packit fd8b60
old_CFLAGS=$CFLAGS
Packit fd8b60
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
Packit fd8b60
AC_CHECK_FUNC(getpwnam_r,ac_cv_func_getpwnam_r=yes,ac_cv_func_getpwnam_r=no)
Packit fd8b60
AC_CHECK_FUNC(getpwuid_r,ac_cv_func_getpwuid_r=yes,ac_cv_func_getpwuid_r=no)
Packit fd8b60
if test "$ac_cv_func_getpwnam_r" = yes; then
Packit fd8b60
  AC_MSG_CHECKING([return type of getpwnam_r])
Packit fd8b60
  AC_CACHE_VAL(krb5_cv_getpwnam_r_return_type,
Packit fd8b60
  [AC_TRY_COMPILE([#include <pwd.h>
Packit fd8b60
   extern int getpwnam_r();], [1;],
Packit fd8b60
   getpwnam_r_returns_int=yes,getpwnam_r_returns_int=no)
Packit fd8b60
   AC_TRY_COMPILE([#include <pwd.h>
Packit fd8b60
   extern struct passwd *getpwnam_r();], [1;],
Packit fd8b60
   getpwnam_r_returns_ptr=yes,getpwnam_r_returns_ptr=no)
Packit fd8b60
   case "$getpwnam_r_returns_int/$getpwnam_r_returns_ptr" in
Packit fd8b60
     yes/no) krb5_cv_getpwnam_r_return_type=int ;;
Packit fd8b60
     no/yes) krb5_cv_getpwnam_r_return_type=ptr ;;
Packit fd8b60
     *) krb5_cv_getpwnam_r_return_type=unknown ;;
Packit fd8b60
   esac])
Packit fd8b60
  AC_MSG_RESULT($krb5_cv_getpwnam_r_return_type)
Packit fd8b60
  if test $krb5_cv_getpwnam_r_return_type = int; then
Packit fd8b60
    AC_DEFINE(GETPWNAM_R_RETURNS_INT, 1, [Define if getpwnam_r returns an int])
Packit fd8b60
  elif test $krb5_cv_getpwnam_r_return_type = unknown; then
Packit fd8b60
    AC_MSG_WARN([Cannot determine getpwnam_r return type, disabling getpwnam_r])
Packit fd8b60
    ac_cv_func_getpwnam_r=no
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
if test "$ac_cv_func_getpwnam_r" = yes; then
Packit fd8b60
  AC_MSG_CHECKING([number of arguments to getpwnam_r])
Packit fd8b60
  AC_CACHE_VAL(krb5_cv_getpwnam_r_args,
Packit fd8b60
  [AC_TRY_COMPILE([#include <pwd.h>
Packit fd8b60
   struct passwd pwx; char buf[1024];],
Packit fd8b60
   [getpwnam_r("", &pwx, buf, sizeof(buf));], args4=yes, args4=no)
Packit fd8b60
   AC_TRY_COMPILE([#include <pwd.h>
Packit fd8b60
   struct passwd pwx, *p; char buf[1024];],
Packit fd8b60
   [getpwnam_r("", &pwx, buf, sizeof(buf), &p);], args5=yes, args5=no)
Packit fd8b60
   case $args4/$args5 in
Packit fd8b60
     yes/no) krb5_cv_getpwnam_r_args=4 ;;
Packit fd8b60
     no/yes) krb5_cv_getpwnam_r_args=5 ;;
Packit fd8b60
     *) krb5_cv_getpwnam_r_args=unknown ;;
Packit fd8b60
   esac])
Packit fd8b60
  AC_MSG_RESULT($krb5_cv_getpwnam_r_args)
Packit fd8b60
  if test "$krb5_cv_getpwnam_r_args" = unknown; then
Packit fd8b60
    AC_MSG_WARN([Cannot determine number of arguments to getpwnam_r, disabling its use.])
Packit fd8b60
    ac_cv_func_getpwnam_r=no
Packit fd8b60
  else
Packit fd8b60
    AC_DEFINE(HAVE_GETPWNAM_R,1,[Define if getpwnam_r is available and useful.])
Packit fd8b60
    if test "$krb5_cv_getpwnam_r_args" = 4; then
Packit fd8b60
      AC_DEFINE(GETPWNAM_R_4_ARGS,1,[Define if getpwnam_r exists but takes only 4 arguments (e.g., POSIX draft 6 implementations like some Solaris releases).])
Packit fd8b60
    fi
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
CFLAGS=$old_CFLAGS
Packit fd8b60
Packit fd8b60
if test "$ac_cv_func_getpwnam_r" = no && test "$ac_cv_func_getpwuid_r" = yes; then
Packit fd8b60
  # Actually, we could do this check, and the corresponding checks
Packit fd8b60
  # for return type and number of arguments, but I doubt we'll run
Packit fd8b60
  # into a system where we'd get to use getpwuid_r but not getpwnam_r.
Packit fd8b60
  AC_MSG_NOTICE([getpwnam_r not useful, so disabling getpwuid_r too])
Packit fd8b60
  ac_cv_func_getpwuid_r=no
Packit fd8b60
fi
Packit fd8b60
if test "$ac_cv_func_getpwuid_r" = yes; then
Packit fd8b60
  AC_DEFINE(HAVE_GETPWUID_R,1,[Define if getpwuid_r is available and useful.])
Packit fd8b60
  # Hack: Assume getpwuid_r is the shorter form if getpwnam_r is.
Packit fd8b60
  if test "$krb5_cv_getpwnam_r_args" = 4; then
Packit fd8b60
    AC_DEFINE(GETPWUID_R_4_ARGS,1,[Define if getpwuid_r exists but takes only 4 arguments (e.g., POSIX draft 6 implementations like some Solaris releases).])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
if test "$ac_cv_func_gmtime_r" = yes; then
Packit fd8b60
  AC_MSG_CHECKING([whether gmtime_r returns int])
Packit fd8b60
  AC_CACHE_VAL(krb5_cv_gmtime_r_returns_int,
Packit fd8b60
  [AC_TRY_COMPILE([#include <time.h>
Packit fd8b60
   extern int gmtime_r ();], [1;], return_int=yes, return_int=no)
Packit fd8b60
   AC_TRY_COMPILE([#include <time.h>
Packit fd8b60
   extern struct tm *gmtime_r ();], [1;], return_ptr=yes, return_ptr=no)
Packit fd8b60
   case $return_int/$return_ptr in
Packit fd8b60
     yes/no) krb5_cv_gmtime_r_returns_int=yes ;;
Packit fd8b60
     no/yes) krb5_cv_gmtime_r_returns_int=no ;;
Packit fd8b60
     *)      # Can't figure it out, punt the function.
Packit fd8b60
             ac_cv_func_gmtime_r=no ;;
Packit fd8b60
   esac])
Packit fd8b60
  if test "$ac_cv_func_gmtime_r" = no; then
Packit fd8b60
    AC_MSG_RESULT(unknown -- ignoring gmtime_r)
Packit fd8b60
  else
Packit fd8b60
    AC_MSG_RESULT($krb5_cv_gmtime_r_returns_int)
Packit fd8b60
    if test "$krb5_cv_gmtime_r_returns_int" = yes; then
Packit fd8b60
      AC_DEFINE(GMTIME_R_RETURNS_INT,1,[Define if gmtime_r returns int instead of struct tm pointer, as on old HP-UX systems.])
Packit fd8b60
    fi
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
AC_CHECK_FUNC(getservbyname_r,[
Packit fd8b60
ac_cv_func_getservbyname_r=yes
Packit fd8b60
if test "$ac_cv_func_getservbyname_r" = yes; then
Packit fd8b60
  AC_MSG_CHECKING([if getservbyname_r returns an int])
Packit fd8b60
  AC_CACHE_VAL(krb5_cv_getservbyname_r_returns_int,
Packit fd8b60
  [AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
  extern int getservbyname_r ();], [1;],
Packit fd8b60
  krb5_cv_getservbyname_r_returns_int=yes,
Packit fd8b60
  krb5_cv_getservbyname_r_returns_int=no)])
Packit fd8b60
  AC_MSG_RESULT($krb5_cv_getservbyname_r_returns_int)
Packit fd8b60
Packit fd8b60
  AC_MSG_CHECKING([if getservbyname_r returns a pointer])
Packit fd8b60
  AC_CACHE_VAL(krb5_cv_getservbyname_r_returns_ptr,
Packit fd8b60
  [AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
  extern struct servent *getservbyname_r ();], [1;],
Packit fd8b60
  krb5_cv_getservbyname_r_returns_ptr=yes,
Packit fd8b60
  krb5_cv_getservbyname_r_returns_ptr=no)])
Packit fd8b60
  AC_MSG_RESULT($krb5_cv_getservbyname_r_returns_ptr)
Packit fd8b60
Packit fd8b60
  if test "$krb5_cv_getservbyname_r_returns_int" = "$krb5_cv_getservbyname_r_returns_ptr"; then
Packit fd8b60
    AC_MSG_WARN(cannot determine return type of getservbyname_r -- disabling)
Packit fd8b60
    ac_cv_func_getservbyname_r=no
Packit fd8b60
  fi
Packit fd8b60
  if test "$krb5_cv_getservbyname_r_returns_int" = yes; then
Packit fd8b60
    AC_DEFINE(GETSERVBYNAME_R_RETURNS_INT, 1, [Define if getservbyname_r returns int rather than struct servent * ])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
if test "$ac_cv_func_getservbyname_r" = yes; then
Packit fd8b60
  AC_DEFINE(HAVE_GETSERVBYNAME_R, 1, [Define if getservbyname_r exists and its return type is known])
Packit fd8b60
  AC_CHECK_FUNC(getservbyport_r)
Packit fd8b60
fi
Packit fd8b60
])
Packit fd8b60
Packit fd8b60
HAVE_YYLINENO
Packit fd8b60
CHECK_DIRENT
Packit fd8b60
AC_TYPE_UID_T
Packit fd8b60
Packit fd8b60
AC_CHECK_HEADER(termios.h,
Packit fd8b60
[AC_CHECK_FUNC([tcsetattr],
Packit fd8b60
  AC_DEFINE(POSIX_TERMIOS,1,[Define if termios.h exists and tcsetattr exists]))])
Packit fd8b60
Packit fd8b60
KRB5_SIGTYPE
Packit fd8b60
AC_CHECK_HEADERS(poll.h stdlib.h string.h stddef.h sys/types.h sys/file.h sys/param.h sys/stat.h sys/time.h netinet/in.h sys/uio.h sys/filio.h sys/select.h time.h paths.h errno.h)
Packit fd8b60
Packit fd8b60
# If compiling with IPv6 support, test if in6addr_any functions.
Packit fd8b60
# Irix 6.5.16 defines it, but lacks support in the C library.
Packit fd8b60
if test $krb5_cv_inet6 = yes || test "$krb5_cv_inet6_with_dinet6" = yes ; then
Packit fd8b60
AC_CACHE_CHECK([for in6addr_any definition in library],
Packit fd8b60
  krb5_cv_var_in6addr_any,
Packit fd8b60
[AC_TRY_LINK([
Packit fd8b60
#ifdef HAVE_SYS_TYPES_H
Packit fd8b60
#include <sys/types.h>
Packit fd8b60
#endif
Packit fd8b60
#include <sys/socket.h>
Packit fd8b60
#include <netinet/in.h>
Packit fd8b60
#include <netdb.h>
Packit fd8b60
],[
Packit fd8b60
  struct sockaddr_in6 in;
Packit fd8b60
  in.sin6_addr = in6addr_any;
Packit fd8b60
  printf("%x", &in);
Packit fd8b60
],krb5_cv_var_in6addr_any=yes, krb5_cv_var_in6addr_any=no)])
Packit fd8b60
  if test $krb5_cv_var_in6addr_any = no; then
Packit fd8b60
    AC_DEFINE(NEED_INSIXADDR_ANY,1,[Define if in6addr_any is not defined in libc])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# then from osconf.h, we have
Packit fd8b60
Packit fd8b60
AC_HEADER_TIME
Packit fd8b60
AC_CHECK_TYPE(time_t, long)
Packit fd8b60
AC_CHECK_SIZEOF(time_t)
Packit fd8b60
SIZEOF_TIME_T=$ac_cv_sizeof_time_t
Packit fd8b60
AC_SUBST(SIZEOF_TIME_T)
Packit fd8b60
Packit fd8b60
# Determine where to put the replay cache.
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING([for replay cache directory])
Packit fd8b60
AC_CACHE_VAL(krb5_cv_sys_rcdir,
Packit fd8b60
[
Packit fd8b60
if test $cross_compiling = yes; then
Packit fd8b60
	krb5_cv_sys_rcdir=/var/tmp
Packit fd8b60
else
Packit fd8b60
	for t_dir in /var/tmp /usr/tmp /var/usr/tmp /tmp ; do
Packit fd8b60
		test -d $t_dir || continue
Packit fd8b60
		krb5_cv_sys_rcdir=$t_dir
Packit fd8b60
		break
Packit fd8b60
	done
Packit fd8b60
fi])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_sys_rcdir)
Packit fd8b60
KRB5_RCTMPDIR=$krb5_cv_sys_rcdir
Packit fd8b60
AC_SUBST(KRB5_RCTMPDIR)
Packit fd8b60
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING(for socklen_t)
Packit fd8b60
AC_CACHE_VAL(krb5_cv_has_type_socklen_t,
Packit fd8b60
[AC_TRY_COMPILE(
Packit fd8b60
[#include <sys/types.h>
Packit fd8b60
#include <sys/socket.h>
Packit fd8b60
],[sizeof (socklen_t);],
Packit fd8b60
krb5_cv_has_type_socklen_t=yes,krb5_cv_has_type_socklen_t=no)])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_has_type_socklen_t)
Packit fd8b60
if test $krb5_cv_has_type_socklen_t = yes; then
Packit fd8b60
    AC_DEFINE(HAVE_SOCKLEN_T,1,[Define if there is a socklen_t type. If not, probably use size_t])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING(for struct lifconf)
Packit fd8b60
AC_CACHE_VAL(krb5_cv_has_struct_lifconf,
Packit fd8b60
[AC_TRY_COMPILE(
Packit fd8b60
[#include <sys/socket.h>
Packit fd8b60
#include <net/if.h>
Packit fd8b60
],[sizeof (struct lifconf);],
Packit fd8b60
krb5_cv_has_struct_lifconf=yes,krb5_cv_has_struct_lifconf=no)])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_has_struct_lifconf)
Packit fd8b60
if test $krb5_cv_has_struct_lifconf = yes; then
Packit fd8b60
    AC_DEFINE(HAVE_STRUCT_LIFCONF,1,[Define if there is a struct lifconf.])
Packit fd8b60
fi
Packit fd8b60
# HP-UX 11 uses stuct if_laddrconf
Packit fd8b60
AC_MSG_CHECKING(for struct if_laddrconf)
Packit fd8b60
AC_CACHE_VAL(krb5_cv_has_struct_if_laddrconf,
Packit fd8b60
[AC_TRY_COMPILE(
Packit fd8b60
[#include <sys/socket.h>
Packit fd8b60
#include <net/if.h>
Packit fd8b60
#include <net/if6.h>
Packit fd8b60
],[sizeof (struct if_laddrconf);],
Packit fd8b60
krb5_cv_has_struct_if_laddrconf=yes,krb5_cv_has_struct_if_laddrconf=no)])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_has_struct_if_laddrconf)
Packit fd8b60
if test $krb5_cv_has_struct_if_laddrconf = yes; then
Packit fd8b60
    AC_DEFINE(HAVE_STRUCT_IF_LADDRCONF,1,[Define if there is a struct if_laddrconf.])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING([for h_errno in netdb.h])
Packit fd8b60
AC_CACHE_VAL(krb5_cv_header_netdb_h_h_errno,
Packit fd8b60
[AC_TRY_COMPILE(
Packit fd8b60
	[#include <netdb.h>],
Packit fd8b60
	[int x = h_errno;], krb5_cv_header_netdb_h_h_errno=yes,
Packit fd8b60
	krb5_cv_header_netdb_h_h_errno=no)])
Packit fd8b60
AC_MSG_RESULT($krb5_cv_header_netdb_h_h_errno)
Packit fd8b60
if test $krb5_cv_header_netdb_h_h_errno = yes; then
Packit fd8b60
    AC_DEFINE([HAVE_NETDB_H_H_ERRNO], 1,
Packit fd8b60
	[Define if netdb.h declares h_errno])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
Packit fd8b60
AC_ARG_ENABLE([athena],
Packit fd8b60
[  --enable-athena         build with MIT Project Athena configuration],
Packit fd8b60
AC_DEFINE(KRB5_ATHENA_COMPAT,1,[Define if MIT Project Athena default configuration should be used]),)
Packit fd8b60
Packit fd8b60
Packit fd8b60
AC_C_INLINE
Packit fd8b60
AH_TOP([
Packit fd8b60
#ifndef KRB5_AUTOCONF_H
Packit fd8b60
#define KRB5_AUTOCONF_H
Packit fd8b60
])
Packit fd8b60
AH_BOTTOM([
Packit fd8b60
#if defined(__GNUC__) && !defined(inline)
Packit fd8b60
/* Silence gcc pedantic warnings about ANSI C.  */
Packit fd8b60
# define inline __inline__
Packit fd8b60
#endif
Packit fd8b60
#endif /* KRB5_AUTOCONF_H */
Packit fd8b60
])
Packit fd8b60
Packit fd8b60
AC_CHECK_TYPES([struct cmsghdr, struct in_pktinfo, struct in6_pktinfo, struct sockaddr_storage], , , [
Packit fd8b60
#include <sys/types.h>
Packit fd8b60
#include <sys/socket.h>
Packit fd8b60
#include <netinet/in.h>
Packit fd8b60
])
Packit fd8b60
AC_CHECK_TYPES([struct rt_msghdr], , , [
Packit fd8b60
#include <sys/socket.h>
Packit fd8b60
#include <net/if.h>
Packit fd8b60
#include <net/route.h>
Packit fd8b60
])
Packit fd8b60
Packit fd8b60
# Tests for 64-bit edwards25519 code.
Packit fd8b60
AC_CHECK_SIZEOF([size_t])
Packit fd8b60
AC_CHECK_TYPES([__int128_t, __uint128_t])
Packit fd8b60
Packit fd8b60
# stuff for util/profile
Packit fd8b60
Packit fd8b60
# AC_KRB5_TCL already done
Packit fd8b60
DO_TCL=
Packit fd8b60
test "$TCL_LIBS" != "" && DO_TCL=ok
Packit fd8b60
AC_SUBST(DO_TCL)
Packit fd8b60
Packit fd8b60
# types libdb2 wants
Packit fd8b60
Packit fd8b60
AC_CHECK_TYPES([ssize_t, u_char, u_int, u_long, u_int8_t, u_int16_t, u_int32_t, int8_t, int16_t, int32_t])
Packit fd8b60
Packit fd8b60
# Some libdb2 test programs want a shell that supports functions.
Packit fd8b60
FCTSH=false
Packit fd8b60
AC_PATH_PROG(SH,sh,false)
Packit fd8b60
AC_PATH_PROG(SH5,sh5,false)
Packit fd8b60
AC_PATH_PROG(BASH,bash,false)
Packit fd8b60
for prog in $SH $SH5 $BASH; do
Packit fd8b60
  AC_MSG_CHECKING(if $prog supports functions)
Packit fd8b60
  if $prog -c 'foo() { true; }; foo' >/dev/null 2>&1; then
Packit fd8b60
    AC_MSG_RESULT(yes)
Packit fd8b60
    FCTSH=$prog
Packit fd8b60
    break
Packit fd8b60
  else
Packit fd8b60
    AC_MSG_RESULT(no)
Packit fd8b60
  fi
Packit fd8b60
done
Packit fd8b60
AC_SUBST(FCTSH)
Packit fd8b60
Packit fd8b60
# Test for POSIX 2001 *printf support (X/Open System Interfaces extension
Packit fd8b60
# to ANSI/ISO C 1999 specification).  Specifically, positional
Packit fd8b60
# specifications; not checking for other features like %zx at present.
Packit fd8b60
AC_MSG_CHECKING(for POSIX printf positional specification support)
Packit fd8b60
AC_CACHE_VAL(ac_cv_printf_positional,[
Packit fd8b60
AC_TRY_RUN([
Packit fd8b60
#include <stdio.h>
Packit fd8b60
#include <string.h>
Packit fd8b60
const char expected[] = "200 100";
Packit fd8b60
int main () {
Packit fd8b60
    char buf[30];
Packit fd8b60
    sprintf(buf, "%2\$x %1\$d", 100, 512);
Packit fd8b60
    if (strcmp(expected, buf)) {
Packit fd8b60
	fprintf(stderr,"bad result: <%s> wanted: <%s>\n", buf, expected);
Packit fd8b60
	return 1;
Packit fd8b60
    }
Packit fd8b60
    return 0;
Packit fd8b60
}],
Packit fd8b60
  ac_cv_printf_positional=yes,
Packit fd8b60
  ac_cv_printf_positional=no,
Packit fd8b60
  AC_MSG_ERROR([Cannot test for printf positional argument support when cross compiling]))])
Packit fd8b60
# Nothing for autoconf.h for now.
Packit fd8b60
AC_MSG_RESULT($ac_cv_printf_positional)
Packit fd8b60
Packit fd8b60
Packit fd8b60
# for t_locate_kdc test
Packit fd8b60
Packit fd8b60
AC_PATH_PROG(DIG, dig, false)
Packit fd8b60
AC_PATH_PROG(NSLOOKUP, nslookup, false)
Packit fd8b60
Packit fd8b60
# for kadmin
Packit fd8b60
Packit fd8b60
AC_PROG_YACC
Packit fd8b60
ath_compat=
Packit fd8b60
AC_ARG_ENABLE([athena],
Packit fd8b60
[  --enable-athena         build with MIT Project Athena configuration],
Packit fd8b60
ath_compat=compat,)
Packit fd8b60
# The following are tests for the presence of programs required for
Packit fd8b60
# kadmin testing.
Packit fd8b60
AC_CHECK_PROG(have_RUNTEST,runtest,runtest)
Packit fd8b60
AC_CHECK_PROG(have_PERL,perl,perl)
Packit fd8b60
if test "$have_PERL" = perl -a "$have_RUNTEST" = runtest -a "$TCL_LIBS" != ""; then
Packit fd8b60
	DO_TEST=ok
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(DO_TEST)
Packit fd8b60
Packit fd8b60
# The following are substituted into kadmin/testing/scripts/env-setup.sh
Packit fd8b60
RBUILD=`pwd`
Packit fd8b60
AC_SUBST(RBUILD)
Packit fd8b60
case "$srcdir" in
Packit fd8b60
/*)	S_TOP=$srcdir ;;
Packit fd8b60
*)	S_TOP=`pwd`/$srcdir ;;
Packit fd8b60
esac
Packit fd8b60
AC_SUBST(S_TOP)
Packit fd8b60
AC_PATH_PROG(EXPECT,expect)
Packit fd8b60
# For kadmin/testing/util/Makefile.in
Packit fd8b60
if test "$TCL_LIBS" != "" ;  then
Packit fd8b60
	DO_ALL=tcl
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(DO_ALL)
Packit fd8b60
KRB5_AC_PRIOCNTL_HACK
Packit fd8b60
K5_GEN_FILE(kadmin/testing/scripts/env-setup.sh:kadmin/testing/scripts/env-setup.shin)
Packit fd8b60
# for lib/kadm5
Packit fd8b60
AC_CHECK_PROG(RUNTEST,runtest,runtest)
Packit fd8b60
AC_CHECK_PROG(PERL,perl,perl)
Packit fd8b60
Packit fd8b60
# lib/gssapi
Packit fd8b60
AC_CHECK_HEADER(xom.h,[
Packit fd8b60
	include_xom='awk '\''END{printf("%cinclude <xom.h>\n", 35);}'\'' < /dev/null'], [
Packit fd8b60
	include_xom='echo "/* no xom.h */"'])
Packit fd8b60
AC_SUBST(include_xom)
Packit fd8b60
Packit fd8b60
Packit fd8b60
# lib/rpc
Packit fd8b60
### Check where struct rpcent is declared.
Packit fd8b60
Packit fd8b60
# This is necessary to determine:
Packit fd8b60
# 1. If /usr/include/netdb.h declares struct rpcent
Packit fd8b60
# 2. If /usr/include/rpc/netdb.h declares struct rpcent
Packit fd8b60
Packit fd8b60
# We have our own rpc/netdb.h, and if /usr/include/netdb.h includes
Packit fd8b60
# rpc/netdb.h, then nastiness could happen.
Packit fd8b60
Packit fd8b60
# Logic: If /usr/include/netdb.h declares struct rpcent, then check
Packit fd8b60
# rpc/netdb.h.  If /usr/include/rpc/netdb.h declares struct rpcent,
Packit fd8b60
# then define STRUCT_RPCENT_IN_RPC_NETDB_H, otherwise do not.  If
Packit fd8b60
# neither netdb.h nor rpc/netdb.h declares struct rpcent, then define
Packit fd8b60
# STRUCT_RPCENT_IN_RPC_NETDB_H anyway.
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING([where struct rpcent is declared])
Packit fd8b60
AC_TRY_COMPILE([#include <netdb.h>],
Packit fd8b60
[struct rpcent e;
Packit fd8b60
char c = e.r_name[0];
Packit fd8b60
int i = e.r_number;],
Packit fd8b60
[AC_TRY_COMPILE([#include <rpc/netdb.h>],
Packit fd8b60
[struct rpcent e;
Packit fd8b60
char c = e.r_name[0];
Packit fd8b60
int i = e.r_number;],
Packit fd8b60
[AC_MSG_RESULT([rpc/netdb.h])
Packit fd8b60
rpcent_define='#define STRUCT_RPCENT_IN_RPC_NETDB_H'],
Packit fd8b60
[AC_MSG_RESULT([netdb.h])])],
Packit fd8b60
[AC_MSG_RESULT([nowhere])
Packit fd8b60
rpcent_define='#define STRUCT_RPCENT_IN_RPC_NETDB_H'])
Packit fd8b60
AC_SUBST(rpcent_define)
Packit fd8b60
Packit fd8b60
AC_CHECK_HEADERS(sys/select.h sys/time.h unistd.h)
Packit fd8b60
if test $ac_cv_header_sys_select_h = yes; then
Packit fd8b60
  GSSRPC__SYS_SELECT_H='#include <sys/select.h>'
Packit fd8b60
else
Packit fd8b60
  GSSRPC__SYS_SELECT_H='/* #include <sys/select.h> */'
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(GSSRPC__SYS_SELECT_H)
Packit fd8b60
if test $ac_cv_header_sys_time_h = yes; then
Packit fd8b60
  GSSRPC__SYS_TIME_H='#include <sys/time.h>'
Packit fd8b60
else
Packit fd8b60
  GSSRPC__SYS_TIME_H='/* #include <sys/time.h> */'
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(GSSRPC__SYS_TIME_H)
Packit fd8b60
if test $ac_cv_header_unistd_h = yes; then
Packit fd8b60
  GSSRPC__UNISTD_H='#include <unistd.h>'
Packit fd8b60
else
Packit fd8b60
  GSSRPC__UNISTD_H='/* #include <unistd.h> */'
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(GSSRPC__UNISTD_H)
Packit fd8b60
Packit fd8b60
AC_CACHE_CHECK([for MAXHOSTNAMELEN in sys/param.h],
Packit fd8b60
  [krb5_cv_header_sys_param_h_maxhostnamelen],
Packit fd8b60
  [AC_TRY_COMPILE([#include <sys/param.h>],
Packit fd8b60
    [int i = MAXHOSTNAMELEN;],
Packit fd8b60
    [krb5_cv_header_sys_param_h_maxhostnamelen=yes],
Packit fd8b60
    [krb5_cv_header_sys_param_h_maxhostnamelen=no])])
Packit fd8b60
AC_CACHE_CHECK([for MAXHOSTNAMELEN in netdb.h],
Packit fd8b60
  [krb5_cv_header_netdb_h_maxhostnamelen],
Packit fd8b60
  [AC_TRY_COMPILE([#include <netdb.h>],
Packit fd8b60
    [int i = MAXHOSTNAMELEN;],
Packit fd8b60
    [krb5_cv_header_netdb_h_maxhostnamelen=yes],
Packit fd8b60
    [krb5_cv_header_netdb_h_maxhostnamelen=no])])
Packit fd8b60
Packit fd8b60
GSSRPC__SYS_PARAM_H='/* #include <sys/param.h> */'
Packit fd8b60
GSSRPC__NETDB_H='/* #include <netdb.h> */'
Packit fd8b60
if test $krb5_cv_header_sys_param_h_maxhostnamelen = yes; then
Packit fd8b60
  GSSRPC__SYS_PARAM_H='#include <sys/param.h>'
Packit fd8b60
else
Packit fd8b60
  if test $krb5_cv_header_netdb_h_maxhostnamelen = yes; then
Packit fd8b60
    GSSRPC__NETDB_H='#include <netdb.h>'
Packit fd8b60
  else
Packit fd8b60
    AC_MSG_WARN([can't find MAXHOSTNAMELEN definition; faking it])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(GSSRPC__SYS_PARAM_H)
Packit fd8b60
AC_SUBST(GSSRPC__NETDB_H)
Packit fd8b60
Packit fd8b60
AC_CACHE_CHECK([for BSD type aliases], [krb5_cv_type_bsdaliases],
Packit fd8b60
  [AC_TRY_COMPILE(
Packit fd8b60
    [#include <sys/types.h>
Packit fd8b60
#if HAVE_UNISTD_H
Packit fd8b60
#include <unistd.h>
Packit fd8b60
#endif],
Packit fd8b60
    [u_char c;
Packit fd8b60
u_int i;
Packit fd8b60
u_long l;], [krb5_cv_type_bsdaliases=yes], [krb5_cv_type_bsdaliases=no])])
Packit fd8b60
if test $krb5_cv_type_bsdaliases = yes; then
Packit fd8b60
  GSSRPC__BSD_TYPEALIASES='/* #undef GSSRPC__BSD_TYPEALIASES */'
Packit fd8b60
else
Packit fd8b60
  GSSRPC__BSD_TYPEALIASES='#define GSSRPC__BSD_TYPEALIASES 1'
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(GSSRPC__BSD_TYPEALIASES)
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING([return type of setrpcent])
Packit fd8b60
AC_CACHE_VAL(k5_cv_type_setrpcent,
Packit fd8b60
[AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
#ifdef __cplusplus
Packit fd8b60
extern "C"
Packit fd8b60
#endif
Packit fd8b60
extern void setrpcent();],
Packit fd8b60
[int i;], k5_cv_type_setrpcent=void, k5_cv_type_setrpcent=int)])
Packit fd8b60
AC_MSG_RESULT($k5_cv_type_setrpcent)
Packit fd8b60
AC_DEFINE_UNQUOTED(SETRPCENT_TYPE, $k5_cv_type_setrpcent, [Define as return type of setrpcent])
Packit fd8b60
Packit fd8b60
AC_MSG_CHECKING([return type of endrpcent])
Packit fd8b60
AC_CACHE_VAL(k5_cv_type_endrpcent,
Packit fd8b60
[AC_TRY_COMPILE([#include <netdb.h>
Packit fd8b60
#ifdef __cplusplus
Packit fd8b60
extern "C"
Packit fd8b60
#endif
Packit fd8b60
extern void endrpcent();],
Packit fd8b60
[int i;], k5_cv_type_endrpcent=void, k5_cv_type_endrpcent=int)])
Packit fd8b60
AC_MSG_RESULT($k5_cv_type_endrpcent)
Packit fd8b60
AC_DEFINE_UNQUOTED(ENDRPCENT_TYPE, $k5_cv_type_endrpcent, [Define as return type of endrpcent])
Packit fd8b60
K5_GEN_FILE(include/gssrpc/types.h:include/gssrpc/types.hin)
Packit fd8b60
PASS=tcp
Packit fd8b60
AC_SUBST(PASS)
Packit fd8b60
Packit fd8b60
# for pkinit
Packit fd8b60
AC_ARG_ENABLE([pkinit],
Packit fd8b60
[  --disable-pkinit        disable PKINIT plugin support],,
Packit fd8b60
enable_pkinit=try)
Packit fd8b60
if test "$enable_pkinit" = yes || test "$enable_pkinit" = try; then
Packit fd8b60
  AC_CACHE_CHECK(for a recent enough OpenSSL, k5_cv_openssl_version_okay,
Packit fd8b60
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <openssl/opensslv.h>
Packit fd8b60
#if OPENSSL_VERSION_NUMBER < 0x10000000L
Packit fd8b60
# error openssl is too old, need 1.0.0
Packit fd8b60
#endif
Packit fd8b60
int i = 1;
Packit fd8b60
])], k5_cv_openssl_version_okay=yes, k5_cv_openssl_version_okay=no)])
Packit fd8b60
  old_LIBS="$LIBS"
Packit fd8b60
  AC_CHECK_LIB(crypto, PKCS7_get_signer_info)
Packit fd8b60
  LIBS="$old_LIBS"
Packit fd8b60
fi
Packit fd8b60
if test "$k5_cv_openssl_version_okay" = yes && (test "$enable_pkinit" = yes || test "$enable_pkinit" = try); then
Packit fd8b60
  K5_GEN_MAKEFILE(plugins/preauth/pkinit)
Packit fd8b60
  K5_GEN_MAKEFILE(tests/softpkcs11)
Packit fd8b60
  PKINIT=yes
Packit fd8b60
  AC_CHECK_LIB(crypto, CMS_get0_content, [AC_DEFINE([HAVE_OPENSSL_CMS], 1, [Define if OpenSSL supports cms.])])
Packit fd8b60
elif test "$k5_cv_openssl_version_okay" = no && test "$enable_pkinit" = yes; then
Packit fd8b60
  AC_MSG_ERROR([Version of OpenSSL is too old; cannot enable PKINIT.])
Packit fd8b60
else
Packit fd8b60
  AC_DEFINE([DISABLE_PKINIT], 1, [Define to disable PKINIT plugin support])
Packit fd8b60
  AC_MSG_NOTICE([Disabling PKINIT support.])
Packit fd8b60
  PKINIT=no
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(PKINIT)
Packit fd8b60
Packit fd8b60
# for lib/apputils
Packit fd8b60
AC_REPLACE_FUNCS(daemon)
Packit fd8b60
Packit fd8b60
# for tests/
Packit fd8b60
if test x"$RUNTEST" != x; then
Packit fd8b60
	HAVE_RUNTEST=yes
Packit fd8b60
else
Packit fd8b60
	HAVE_RUNTEST=no
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(HAVE_RUNTEST)
Packit fd8b60
Packit fd8b60
# For Python tests.  Python version 3.2.4 is required as prior
Packit fd8b60
# versions do not accept string input to subprocess.Popen.communicate
Packit fd8b60
# when universal_newlines is set.
Packit fd8b60
PYTHON_MINVERSION=3.2.4
Packit fd8b60
AC_SUBST(PYTHON_MINVERSION)
Packit fd8b60
AC_CHECK_PROG(PYTHON,python3,python3)
Packit fd8b60
if test x"$PYTHON" = x; then
Packit fd8b60
	AC_CHECK_PROG(PYTHON,python,python)
Packit fd8b60
fi
Packit fd8b60
HAVE_PYTHON=no
Packit fd8b60
if test x"$PYTHON" != x; then
Packit fd8b60
	wantver="(sys.hexversion >= 0x30204F0)"
Packit fd8b60
	if "$PYTHON" -c "import sys; sys.exit(not $wantver and 1 or 0)"; then
Packit fd8b60
		HAVE_PYTHON=yes
Packit fd8b60
	fi
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(HAVE_PYTHON)
Packit fd8b60
Packit fd8b60
# For cmocka tests.
Packit fd8b60
CMOCKA_LIBS=
Packit fd8b60
HAVE_CMOCKA=no
Packit fd8b60
HAVE_CMOCKA_H=no
Packit fd8b60
HAVE_CMOCKA_LIB=no
Packit fd8b60
AC_CHECK_HEADER(cmocka.h, [HAVE_CMOCKA_H=yes], :, [
Packit fd8b60
#include <stdarg.h>
Packit fd8b60
#include <stddef.h>
Packit fd8b60
#include <setjmp.h> ])
Packit fd8b60
AC_CHECK_LIB(cmocka, _cmocka_run_group_tests, [HAVE_CMOCKA_LIB=yes])
Packit fd8b60
if test "$HAVE_CMOCKA_LIB" = yes && test "$HAVE_CMOCKA_H" = yes; then
Packit fd8b60
    HAVE_CMOCKA=yes
Packit fd8b60
    CMOCKA_LIBS='-lcmocka'
Packit fd8b60
    AC_DEFINE([HAVE_CMOCKA],1,[Define if cmocka library is available.])
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(HAVE_CMOCKA)
Packit fd8b60
AC_SUBST(CMOCKA_LIBS)
Packit fd8b60
Packit fd8b60
# For URI lookup tests. Requires resolv_wrapper >= 1.1.5 for URI
Packit fd8b60
# support.
Packit fd8b60
HAVE_RESOLV_WRAPPER=0
Packit fd8b60
PKG_CHECK_EXISTS([resolv_wrapper >= 1.1.5], [HAVE_RESOLV_WRAPPER=1])
Packit fd8b60
AC_SUBST(HAVE_RESOLV_WRAPPER)
Packit fd8b60
Packit fd8b60
# for plugins/kdb/db2
Packit fd8b60
Packit fd8b60
# AIX is unusual in that it wants all symbols resolved at link time
Packit fd8b60
#  Fortunately, it will allow us to link the kdb library now, even if
Packit fd8b60
# it is linked again later.
Packit fd8b60
case $krb5_cv_host in
Packit fd8b60
*-*-aix*)
Packit fd8b60
	DB_EXTRA_LIBS=-ldb
Packit fd8b60
	;;
Packit fd8b60
*)
Packit fd8b60
	DB_EXTRA_LIBS=
Packit fd8b60
	;;
Packit fd8b60
esac
Packit fd8b60
AC_SUBST(DB_EXTRA_LIBS)
Packit fd8b60
Packit fd8b60
Packit fd8b60
Packit fd8b60
# Check for thread safety issues.
Packit fd8b60
# (Is there a better place for this?)
Packit fd8b60
# tsfuncs="getpwnam_r getpwuid_r gethostbyname_r getservbyname_r gmtime_r localtime_r"
Packit fd8b60
# Removed getpwnam_r and getpwuid_r because include/configure.in has some
Packit fd8b60
# more careful checks, and may decide to pretend that they're not found if
Packit fd8b60
# the function signatures can't be figured out.
Packit fd8b60
tsfuncs="gethostbyname_r getservbyname_r gmtime_r localtime_r"
Packit fd8b60
AC_CHECK_FUNCS($tsfuncs)
Packit fd8b60
if test "$enable_thread_support" = yes; then
Packit fd8b60
  tsmissing=""
Packit fd8b60
  for ts in $tsfuncs; do
Packit fd8b60
    if eval "test \"\${ac_cv_func_$ts}\" != yes"; then
Packit fd8b60
      tsmissing="$tsmissing $ts"
Packit fd8b60
    fi
Packit fd8b60
  done
Packit fd8b60
  if test "$ac_cv_func_res_nsearch/$ac_cv_lib_resolv_res_nsearch" = "no/no"; then
Packit fd8b60
    tsmissing="$tsmissing res_nsearch"
Packit fd8b60
  fi
Packit fd8b60
  if test "$tsmissing" != ""; then
Packit fd8b60
    AC_MSG_WARN([Some functions that are needed for library thread])
Packit fd8b60
    AC_MSG_WARN([safety appear to be missing.])
Packit fd8b60
    for ts in $tsmissing; do
Packit fd8b60
      AC_MSG_WARN([  missing thread-safe function: $ts])
Packit fd8b60
    done
Packit fd8b60
    AC_MSG_WARN([Without these functions, the installed libraries])
Packit fd8b60
    AC_MSG_WARN([may not be thread-safe.])
Packit fd8b60
  fi # tsmissing not empty
Packit fd8b60
fi # enable_thread_support
Packit fd8b60
Packit fd8b60
# Sadly, we seem to have accidentally committed ourselves in 1.4 to
Packit fd8b60
# an ABI that includes the existence of libkrb5support.0 even
Packit fd8b60
# though random apps should never use anything from it.  And on
Packit fd8b60
# the Mac, to which that didn't apply, we can't use major version 0.
Packit fd8b60
Packit fd8b60
case $krb5_cv_host in
Packit fd8b60
*-*-darwin* | *-*-rhapsody*) SUPPORTLIB_MAJOR=1 ;;
Packit fd8b60
*)			     SUPPORTLIB_MAJOR=0 ;;
Packit fd8b60
esac
Packit fd8b60
AC_SUBST(SUPPORTLIB_MAJOR)
Packit fd8b60
Packit fd8b60
Packit fd8b60
if test "$COM_ERR_VERSION" = k5 ; then
Packit fd8b60
  K5_GEN_MAKEFILE(util/et)
Packit fd8b60
fi
Packit fd8b60
if test "$SS_VERSION" = k5 ; then
Packit fd8b60
  K5_GEN_MAKEFILE(util/ss)
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
Packit fd8b60
ldap_plugin_dir=""
Packit fd8b60
ldap_lib=""
Packit fd8b60
if test -n "$OPENLDAP_PLUGIN"; then
Packit fd8b60
  AC_CHECK_HEADERS(ldap.h lber.h, :, [AC_MSG_ERROR($ac_header not found)])
Packit fd8b60
  AC_CHECK_LIB(ldap, ldap_str2dn, :, [AC_MSG_ERROR(libldap not found or missing ldap_str2dn)])
Packit fd8b60
Packit fd8b60
  BER_OKAY=0
Packit fd8b60
  AC_CHECK_LIB(ldap, ber_init, [BER_OKAY=1])
Packit fd8b60
  if test "$BER_OKAY" = "1"; then
Packit fd8b60
    LDAP_LIBS='-lldap'
Packit fd8b60
  else
Packit fd8b60
    AC_CHECK_LIB(lber, ber_init, [BER_OKAY=1], [AC_MSG_WARN([libber not found])])
Packit fd8b60
    if test "$BER_OKAY" = "1"; then
Packit fd8b60
      LDAP_LIBS='-lldap -llber'
Packit fd8b60
    else
Packit fd8b60
      AC_ERROR("BER library missing - cannot build LDAP database module")
Packit fd8b60
    fi
Packit fd8b60
  fi
Packit fd8b60
  AC_DEFINE([ENABLE_LDAP], 1, [Define if LDAP KDB support within the Kerberos library (mainly ASN.1 code) should be enabled.])
Packit fd8b60
  AC_SUBST(LDAP_LIBS)
Packit fd8b60
Packit fd8b60
  AC_CHECK_HEADERS([sasl/sasl.h], [HAVE_SASL=yes], [HAVE_SASL=no])
Packit fd8b60
  AC_SUBST(HAVE_SASL)
Packit fd8b60
  if test "$HAVE_SASL" = no; then
Packit fd8b60
    AC_MSG_WARN([not building LDAP SASL support])
Packit fd8b60
  fi
Packit fd8b60
Packit fd8b60
  K5_GEN_MAKEFILE(plugins/kdb/ldap)
Packit fd8b60
  K5_GEN_MAKEFILE(plugins/kdb/ldap/ldap_util)
Packit fd8b60
  K5_GEN_MAKEFILE(plugins/kdb/ldap/libkdb_ldap)
Packit fd8b60
  ldap_plugin_dir='plugins/kdb/ldap plugins/kdb/ldap/ldap_util'
Packit fd8b60
  LDAP=yes
Packit fd8b60
else
Packit fd8b60
  LDAP=no
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(ldap_plugin_dir)
Packit fd8b60
AC_SUBST(LDAP)
Packit fd8b60
# This check is for plugins/preauth/securid_sam2
Packit fd8b60
sam2_plugin=""
Packit fd8b60
old_CFLAGS=$CFLAGS
Packit fd8b60
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
Packit fd8b60
AC_CHECK_LIB(aceclnt, SD_Init, [
Packit fd8b60
	     AC_MSG_NOTICE([Enabling RSA securID support])
Packit fd8b60
	     K5_GEN_MAKEFILE(plugins/preauth/securid_sam2)
Packit fd8b60
	     sam2_plugin=plugins/preauth/securid_sam2
Packit fd8b60
	     ])
Packit fd8b60
AC_SUBST(sam2_plugin)
Packit fd8b60
CFLAGS=$old_CFLAGS
Packit fd8b60
Packit fd8b60
lmdb_plugin_dir=""
Packit fd8b60
HAVE_LMDB=no
Packit fd8b60
AC_ARG_WITH([lmdb],
Packit fd8b60
AC_HELP_STRING([--with-lmdb],
Packit fd8b60
	    [compile LMDB database backend module @<:@auto@:>@]),,
Packit fd8b60
	    [withval=auto])
Packit fd8b60
if test "$withval" = auto -o "$withval" = yes; then
Packit fd8b60
  AC_CHECK_LIB([lmdb],[mdb_env_create],[have_lmdb=true],[have_lmdb=false])
Packit fd8b60
  if test "$have_lmdb" = true; then
Packit fd8b60
    LMDB_LIBS=-llmdb
Packit fd8b60
    HAVE_LMDB=yes
Packit fd8b60
    lmdb_plugin_dir='plugins/kdb/lmdb'
Packit fd8b60
    K5_GEN_MAKEFILE(plugins/kdb/lmdb)
Packit fd8b60
  elif test "$withval" = yes; then
Packit fd8b60
    AC_MSG_ERROR([liblmdb not found])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(HAVE_LMDB)
Packit fd8b60
AC_SUBST(LMDB_LIBS)
Packit fd8b60
AC_SUBST(lmdb_plugin_dir)
Packit fd8b60
Packit fd8b60
# Kludge for simple server --- FIXME is this the best way to do this?
Packit fd8b60
Packit fd8b60
if test "$ac_cv_lib_socket" = "yes" -a "$ac_cv_lib_nsl" = "yes"; then
Packit fd8b60
	AC_DEFINE(BROKEN_STREAMS_SOCKETS,1,[Define if socket can't be bound to 0.0.0.0])
Packit fd8b60
fi
Packit fd8b60
Packit fd8b60
# Compile with libedit support in ss by default if available.  Compile
Packit fd8b60
# with readline only if asked, to avoid a default GPL dependency.
Packit fd8b60
# Building with readline also breaks the dejagnu test suite.
Packit fd8b60
AC_ARG_WITH([libedit],
Packit fd8b60
	    AC_HELP_STRING([--without-libedit], [do not compile with libedit]),
Packit fd8b60
	    [], [with_libedit=default])
Packit fd8b60
AC_ARG_WITH([readline],
Packit fd8b60
	    AC_HELP_STRING([--with-readline], [compile with GNU Readline]),
Packit fd8b60
	    [], [with_readline=no])
Packit fd8b60
if test "x$with_readline" = xyes; then
Packit fd8b60
  with_libedit=no
Packit fd8b60
fi
Packit fd8b60
RL_CFLAGS=
Packit fd8b60
RL_LIBS=
Packit fd8b60
if test "x$with_libedit" != xno; then
Packit fd8b60
  PKG_CHECK_MODULES(LIBEDIT, libedit, [have_libedit=yes], [have_libedit=no])
Packit fd8b60
  if test "x$have_libedit" = xyes; then
Packit fd8b60
    RL_CFLAGS=$LIBEDIT_CFLAGS
Packit fd8b60
    RL_LIBS=$LIBEDIT_LIBS
Packit fd8b60
    AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
Packit fd8b60
    AC_MSG_NOTICE([Using libedit for readline support])
Packit fd8b60
  elif test "x$with_libedit" = xyes; then
Packit fd8b60
    # We were explicitly asked for libedit and couldn't find it.
Packit fd8b60
    AC_MSG_ERROR([Could not detect libedit with pkg-config])
Packit fd8b60
  else
Packit fd8b60
    AC_MSG_NOTICE([Not using any readline support])
Packit fd8b60
  fi
Packit fd8b60
elif test "x$with_readline" = xyes; then
Packit fd8b60
  AC_MSG_NOTICE([Using GNU Readline])
Packit fd8b60
  AC_CHECK_LIB([readline], [main], :,
Packit fd8b60
	       AC_MSG_FAILURE([Cannot find readline library.]))
Packit fd8b60
  AC_DEFINE([HAVE_READLINE], 1, [Define if building with GNU Readline.])
Packit fd8b60
  RL_LIBS='-lreadline'
Packit fd8b60
else
Packit fd8b60
  AC_MSG_RESULT([Not using any readline support])
Packit fd8b60
fi
Packit fd8b60
AC_SUBST([RL_CFLAGS])
Packit fd8b60
AC_SUBST([RL_LIBS])
Packit fd8b60
Packit fd8b60
AC_ARG_WITH([system-verto],
Packit fd8b60
  [AC_HELP_STRING([--with-system-verto], [always use system verto library])],
Packit fd8b60
  [], [with_system_verto=default])
Packit fd8b60
VERTO_VERSION=k5
Packit fd8b60
if test "x$with_system_verto" != xno; then
Packit fd8b60
  PKG_CHECK_MODULES(VERTO, libverto, [have_sysverto=yes], [have_sysverto=no])
Packit fd8b60
  if test "x$have_sysverto" = xyes; then
Packit fd8b60
    VERTO_VERSION=sys
Packit fd8b60
  elif test "x$with_system_verto" = xyes; then
Packit fd8b60
    AC_MSG_ERROR([cannot detect system libverto])
Packit fd8b60
  fi
Packit fd8b60
fi
Packit fd8b60
if test "x$VERTO_VERSION" = xsys; then
Packit fd8b60
  AC_MSG_NOTICE([Using system libverto])
Packit fd8b60
else
Packit fd8b60
  VERTO_CFLAGS=
Packit fd8b60
  VERTO_LIBS="-lverto"
Packit fd8b60
  AC_MSG_NOTICE([Using built-in libverto])
Packit fd8b60
fi
Packit fd8b60
AC_SUBST([VERTO_CFLAGS])
Packit fd8b60
AC_SUBST([VERTO_LIBS])
Packit fd8b60
AC_SUBST([VERTO_VERSION])
Packit fd8b60
Packit fd8b60
AC_PATH_PROG(GROFF, groff)
Packit fd8b60
rpm-build b0f74b
KRB5_WITH_PAM
rpm-build b0f74b
rpm-build 0f5b3b
KRB5_WITH_SELINUX
rpm-build 0f5b3b
Packit fd8b60
# Make localedir work in autoconf 2.5x.
Packit fd8b60
if test "${localedir+set}" != set; then
Packit fd8b60
    localedir='$(datadir)/locale'
Packit fd8b60
fi
Packit fd8b60
AC_SUBST(localedir)
Packit fd8b60
Packit fd8b60
# For KCM lib/krb5/ccache to build KCM Mach RPC support for macOS only.
Packit fd8b60
case $host in
Packit fd8b60
*-*-darwin* | *-*-rhapsody*) OSX=osx ;;
Packit fd8b60
*)                           OSX=no ;;
Packit fd8b60
esac
Packit fd8b60
AC_SUBST(OSX)
Packit fd8b60
Packit fd8b60
# Build-time default ccache, keytab, and client keytab names.  These
Packit fd8b60
# can be given as variable arguments DEFCCNAME, DEFKTNAME, and
Packit fd8b60
# DEFCKTNAME.  Otherwise, we try to get the OS defaults from
Packit fd8b60
# krb5-config if we can, or fall back to hardcoded defaults.
Packit fd8b60
AC_ARG_VAR(DEFCCNAME, [Default ccache name])
Packit fd8b60
AC_ARG_VAR(DEFKTNAME, [Default keytab name])
Packit fd8b60
AC_ARG_VAR(DEFCKTNAME, [Default client keytab name])
Packit fd8b60
AC_ARG_WITH([krb5-config],
Packit fd8b60
	AC_HELP_STRING([--with-krb5-config=PATH],
Packit fd8b60
		[path to existing krb5-config program for defaults]), ,
Packit fd8b60
        [with_krb5_config=krb5-config])
Packit fd8b60
if test "x$with_krb5_config" != xno; then
Packit fd8b60
	if test "x$with_krb5_config" = xyes; then
Packit fd8b60
		with_krb5_config=krb5-config
Packit fd8b60
	fi
Packit fd8b60
	if $with_krb5_config --help 2>&1 | grep defccname >/dev/null; then
Packit fd8b60
		AC_MSG_NOTICE([Using $with_krb5_config for build defaults])
Packit fd8b60
		: "${DEFCCNAME=`$with_krb5_config --defccname`}"
Packit fd8b60
		: "${DEFKTNAME=`$with_krb5_config --defktname`}"
Packit fd8b60
		: "${DEFCKTNAME=`$with_krb5_config --defcktname`}"
Packit fd8b60
	fi
Packit fd8b60
fi
Packit fd8b60
dnl The outer brackets around the case statement prevent m4 from eating the
Packit fd8b60
dnl brackets in the glob patterns.
Packit fd8b60
if test "${DEFCCNAME+set}" != set; then
Packit fd8b60
	[case $host in
Packit fd8b60
	*-*-darwin[0-9].* | *-*-darwin10.*)
Packit fd8b60
		# Use the normal default for macOS 10.6 (Darwin 10) and prior.
Packit fd8b60
		;;
Packit fd8b60
	*-*-darwin*)
Packit fd8b60
		# For macOS 10.7 (Darwin 11) and later, the native ccache uses
Packit fd8b60
		# the KCM daemon.
Packit fd8b60
		DEFCCNAME=KCM:
Packit fd8b60
		;;
Packit fd8b60
	esac]
Packit fd8b60
	if test "${DEFCCNAME+set}" != set; then
Packit fd8b60
		DEFCCNAME=FILE:/tmp/krb5cc_%{uid}
Packit fd8b60
	fi
Packit fd8b60
fi
Packit fd8b60
if test "${DEFKTNAME+set}" != set; then
Packit fd8b60
	DEFKTNAME=FILE:/etc/krb5.keytab
Packit fd8b60
fi
Packit fd8b60
if test "${DEFCKTNAME+set}" != set; then
Packit fd8b60
	AX_RECURSIVE_EVAL($localstatedir, exp_localstatedir)
Packit fd8b60
	DEFCKTNAME=FILE:$exp_localstatedir/krb5/user/%{euid}/client.keytab
Packit fd8b60
fi
Packit fd8b60
AC_MSG_NOTICE([Default ccache name: $DEFCCNAME])
Packit fd8b60
AC_MSG_NOTICE([Default keytab name: $DEFKTNAME])
Packit fd8b60
AC_MSG_NOTICE([Default client keytab name: $DEFCKTNAME])
Packit fd8b60
AC_DEFINE_UNQUOTED(DEFCCNAME, ["$DEFCCNAME"], [Define to default ccache name])
Packit fd8b60
AC_DEFINE_UNQUOTED(DEFKTNAME, ["$DEFKTNAME"], [Define to default keytab name])
Packit fd8b60
AC_DEFINE_UNQUOTED(DEFCKTNAME, ["$DEFCKTNAME"],
Packit fd8b60
                   [Define to default client keytab name])
Packit fd8b60
Packit fd8b60
AC_CONFIG_FILES([build-tools/krb5-config], [chmod +x build-tools/krb5-config])
Packit fd8b60
AC_CONFIG_FILES([build-tools/kadm-server.pc
Packit fd8b60
	build-tools/kadm-client.pc
Packit fd8b60
	build-tools/kdb.pc
Packit fd8b60
	build-tools/krb5.pc
Packit fd8b60
	build-tools/krb5-gssapi.pc
Packit fd8b60
	build-tools/mit-krb5.pc
Packit fd8b60
	build-tools/mit-krb5-gssapi.pc
Packit fd8b60
	build-tools/gssrpc.pc
Packit fd8b60
])
Packit fd8b60
V5_AC_OUTPUT_MAKEFILE(.
Packit fd8b60
Packit fd8b60
	util util/support util/profile util/profile/testmod
Packit fd8b60
	util/verto
Packit fd8b60
Packit fd8b60
	lib lib/kdb
Packit fd8b60
Packit fd8b60
	lib/crypto lib/crypto/krb lib/crypto/$CRYPTO_IMPL
Packit fd8b60
	lib/crypto/$CRYPTO_IMPL/enc_provider
Packit fd8b60
	lib/crypto/$CRYPTO_IMPL/hash_provider
Packit fd8b60
	lib/crypto/$CRYPTO_IMPL/md4 lib/crypto/$CRYPTO_IMPL/md5
Packit fd8b60
        lib/crypto/$CRYPTO_IMPL/sha1 lib/crypto/$CRYPTO_IMPL/sha2
Packit fd8b60
	lib/crypto/$CRYPTO_IMPL/aes lib/crypto/$CRYPTO_IMPL/camellia
Packit fd8b60
	lib/crypto/crypto_tests
Packit fd8b60
Packit fd8b60
	lib/krb5 lib/krb5/error_tables lib/krb5/asn.1 lib/krb5/ccache
Packit fd8b60
	lib/krb5/keytab lib/krb5/krb lib/krb5/rcache lib/krb5/os
Packit fd8b60
	lib/krb5/unicode
Packit fd8b60
Packit fd8b60
	lib/gssapi lib/gssapi/generic lib/gssapi/krb5 lib/gssapi/spnego
Packit fd8b60
	lib/gssapi/mechglue
Packit fd8b60
Packit fd8b60
	lib/rpc lib/rpc/unit-test
Packit fd8b60
Packit fd8b60
	lib/kadm5 lib/kadm5/clnt lib/kadm5/srv lib/kadm5/unit-test
Packit fd8b60
	lib/krad
Packit fd8b60
	lib/apputils
Packit fd8b60
Packit fd8b60
	kdc kprop config-files build-tools man doc include
Packit fd8b60
Packit fd8b60
	plugins/certauth/test
Packit fd8b60
	plugins/gssapi/negoextest
Packit fd8b60
	plugins/hostrealm/test
Packit fd8b60
	plugins/localauth/test
Packit fd8b60
	plugins/kadm5_hook/test
Packit fd8b60
	plugins/kadm5_auth/test
Packit fd8b60
	plugins/pwqual/test
Packit fd8b60
	plugins/audit
Packit fd8b60
	plugins/audit/test
Packit fd8b60
	plugins/kdb/db2
Packit fd8b60
	plugins/kdb/db2/libdb2
Packit fd8b60
	plugins/kdb/db2/libdb2/hash
Packit fd8b60
	plugins/kdb/db2/libdb2/btree
Packit fd8b60
	plugins/kdb/db2/libdb2/db
Packit fd8b60
	plugins/kdb/db2/libdb2/mpool
Packit fd8b60
	plugins/kdb/db2/libdb2/recno
Packit fd8b60
	plugins/kdb/db2/libdb2/test
Packit fd8b60
	plugins/kdb/test
Packit fd8b60
	plugins/kdcpolicy/test
Packit fd8b60
	plugins/preauth/otp
Packit fd8b60
	plugins/preauth/spake
Packit fd8b60
	plugins/preauth/test
Packit fd8b60
	plugins/authdata/greet_client
Packit fd8b60
	plugins/authdata/greet_server
Packit fd8b60
	plugins/tls/k5tls
Packit fd8b60
Packit fd8b60
	clients clients/klist clients/kinit clients/kvno
Packit fd8b60
	clients/kdestroy clients/kpasswd clients/ksu clients/kswitch
Packit fd8b60
Packit fd8b60
	kadmin kadmin/cli kadmin/dbutil kadmin/ktutil kadmin/server
Packit fd8b60
	kadmin/testing kadmin/testing/scripts kadmin/testing/util
Packit fd8b60
Packit fd8b60
	appl
Packit fd8b60
	appl/sample appl/sample/sclient appl/sample/sserver
Packit fd8b60
	appl/simple appl/simple/client appl/simple/server
Packit fd8b60
	appl/gss-sample appl/user_user
Packit fd8b60
Packit fd8b60
	tests tests/resolve tests/asn.1 tests/create tests/hammer
Packit fd8b60
	tests/verify tests/gssapi tests/dejagnu tests/threads tests/shlib
Packit fd8b60
	tests/gss-threads tests/misc
Packit fd8b60
)