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