git: ee3960cba106 - main - krb5: Add build plumbing
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 16 Jun 2025 02:51:44 UTC
The branch main has been updated by cy:
URL: https://cgit.FreeBSD.org/src/commit/?id=ee3960cba1068e12fb032a68c46d74841d9edab3
commit ee3960cba1068e12fb032a68c46d74841d9edab3
Author: Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2025-06-05 04:18:38 +0000
Commit: Cy Schubert <cy@FreeBSD.org>
CommitDate: 2025-06-16 02:49:35 +0000
krb5: Add build plumbing
Add tne necessary Makefiles and header files to facilitate building
MIT KRB5 as part of buildworld. Nothing will build until the
WITH_MITKRB5/MK_MITKRB5 option has been plumbed in Makefile.inc1.
Before any changes to Makefile.inc1 are made to enable MIT KRB5,
additional commits to other affected software will need to be committed.
krb5/Makefile was inspired by kerberos5/Makefile. The Makefiles in
krb5/util and krb5/lib were inspired by those in lib/libc and in
lib/ncurses.
Differential revision: https://reviews.freebsd.org/D50695
Sponsored by: The FreeBSD Foundation
---
krb5/Makefile | 7 +
krb5/Makefile.et | 22 +
krb5/Makefile.inc | 45 +
krb5/README | 13 +
krb5/include/Makefile | 73 ++
krb5/include/Makefile.inc | 10 +
krb5/include/autoconf.h | 768 ++++++++++++++
krb5/include/gssapi/Makefile | 30 +
krb5/include/gssrpc/Makefile | 33 +
krb5/include/gssrpc/types.h | 130 +++
krb5/include/krb5/Makefile | 29 +
krb5/include/krb5_private/Makefile | 43 +
krb5/include/osconf.h | 141 +++
krb5/lib/Makefile | 14 +
krb5/lib/Makefile.inc | 16 +
krb5/lib/apputils/Makefile | 31 +
krb5/lib/crypto/Makefile | 51 +
krb5/lib/crypto/builtin/Makefile.inc | 25 +
krb5/lib/crypto/builtin/aes/Makefile.inc | 14 +
krb5/lib/crypto/builtin/camellia/Makefile.inc | 12 +
krb5/lib/crypto/builtin/des/Makefile.inc | 22 +
krb5/lib/crypto/builtin/enc_provider/Makefile.inc | 17 +
krb5/lib/crypto/builtin/hash_provider/Makefile.inc | 15 +
krb5/lib/crypto/builtin/md4/Makefile.inc | 12 +
krb5/lib/crypto/builtin/md5/Makefile.inc | 12 +
krb5/lib/crypto/builtin/sha1/Makefile.inc | 12 +
krb5/lib/crypto/builtin/sha2/Makefile.inc | 13 +
krb5/lib/crypto/krb/Makefile.inc | 65 ++
krb5/lib/crypto/openssl/Makefile.inc | 21 +
krb5/lib/crypto/openssl/des/Makefile.inc | 12 +
krb5/lib/crypto/openssl/enc_provider/Makefile.inc | 25 +
krb5/lib/crypto/openssl/hash_provider/Makefile.inc | 12 +
krb5/lib/gssapi/Makefile | 48 +
krb5/lib/gssapi/errmap.h | 274 +++++
krb5/lib/gssapi/error_map.h | 112 ++
krb5/lib/gssapi/generic/Makefile.et | 30 +
krb5/lib/gssapi/generic/Makefile.inc | 55 +
krb5/lib/gssapi/krb5/Makefile.et | 30 +
krb5/lib/gssapi/krb5/Makefile.inc | 72 ++
krb5/lib/gssapi/mechglue/Makefile.inc | 74 ++
krb5/lib/gssapi/spnego/Makefile.inc | 14 +
krb5/lib/kadm5clnt/Makefile | 97 ++
krb5/lib/kadm5clnt/clnt/Makefile.inc | 17 +
krb5/lib/kadm5srv/Makefile | 107 ++
krb5/lib/kadm5srv/srv/Makefile.inc | 25 +
krb5/lib/kadmin_common/Makefile | 47 +
krb5/lib/kdb/Makefile | 66 ++
krb5/lib/kprop_util/Makefile | 28 +
krb5/lib/krad/Makefile | 39 +
krb5/lib/krb5/Makefile | 75 ++
krb5/lib/krb5/asn.1/Makefile.inc | 14 +
krb5/lib/krb5/ccache/Makefile.inc | 30 +
krb5/lib/krb5/docs/Makefile.inc | 1069 ++++++++++++++++++++
krb5/lib/krb5/error_tables/Makefile.inc | 146 +++
krb5/lib/krb5/keytab/Makefile.inc | 20 +
krb5/lib/krb5/krb/Makefile.inc | 123 +++
krb5/lib/krb5/os/Makefile.inc | 56 +
krb5/lib/krb5/rcache/Makefile.inc | 17 +
krb5/lib/krb5/unicode/Makefile.inc | 14 +
krb5/lib/rpc/Makefile | 85 ++
krb5/libexec/Makefile | 16 +
krb5/libexec/Makefile.inc | 12 +
krb5/libexec/kadmind/Makefile | 49 +
krb5/libexec/kdc/Makefile | 84 ++
krb5/libexec/kprop/Makefile | 33 +
krb5/libexec/kpropd/Makefile | 33 +
krb5/libexec/kproplog/Makefile | 31 +
krb5/plugins/Makefile | 19 +
krb5/plugins/Makefile.inc | 16 +
krb5/plugins/audit/Makefile | 28 +
krb5/plugins/k5tls/Makefile | 33 +
krb5/plugins/kdb/Makefile | 15 +
krb5/plugins/kdb/Makefile.inc | 10 +
krb5/plugins/kdb/db2/Makefile | 65 ++
krb5/plugins/kdb/db2/libdb2/Makefile.inc | 15 +
krb5/plugins/kdb/db2/libdb2/btree/Makefile.inc | 24 +
krb5/plugins/kdb/db2/libdb2/db/Makefile.inc | 12 +
krb5/plugins/kdb/db2/libdb2/hash/Makefile.inc | 19 +
krb5/plugins/kdb/db2/libdb2/include/Makefile.inc | 21 +
krb5/plugins/kdb/db2/libdb2/mpool/Makefile.inc | 12 +
krb5/plugins/kdb/db2/libdb2/recno/Makefile.inc | 19 +
krb5/plugins/preauth/Makefile | 14 +
krb5/plugins/preauth/Makefile.inc | 13 +
krb5/plugins/preauth/otp/Makefile | 30 +
krb5/plugins/preauth/pkinit/Makefile | 38 +
krb5/plugins/preauth/spake/Makefile | 42 +
krb5/plugins/preauth/test/Makefile | 33 +
krb5/usr.bin/Makefile | 14 +
krb5/usr.bin/Makefile.inc | 12 +
krb5/usr.bin/gss-client/Makefile | 30 +
krb5/usr.bin/kadmin/Makefile | 43 +
krb5/usr.bin/kdestroy/Makefile | 35 +
krb5/usr.bin/kinit/Makefile | 37 +
krb5/usr.bin/klist/Makefile | 35 +
krb5/usr.bin/kpasswd/Makefile | 37 +
krb5/usr.bin/ksu/Makefile | 44 +
krb5/usr.bin/kswitch/Makefile | 35 +
krb5/usr.bin/ktutil/Makefile | 43 +
krb5/usr.bin/kvno/Makefile | 35 +
krb5/usr.bin/sclient/Makefile | 35 +
krb5/usr.bin/sim_client/Makefile | 25 +
krb5/usr.sbin/Makefile | 16 +
krb5/usr.sbin/Makefile.inc | 12 +
krb5/usr.sbin/gss-server/Makefile | 30 +
krb5/usr.sbin/kadmin.local/Makefile | 31 +
krb5/usr.sbin/kdb5_util/Makefile | 75 ++
krb5/usr.sbin/sim_server/Makefile | 26 +
krb5/usr.sbin/sserver/Makefile | 37 +
krb5/util/Makefile | 17 +
krb5/util/Makefile.inc | 13 +
krb5/util/build-tools/Makefile | 32 +
krb5/util/build-tools/krb5-config.sh | 263 +++++
krb5/util/compile_et/Makefile | 38 +
krb5/util/et/Makefile | 47 +
krb5/util/profile/Makefile | 78 ++
krb5/util/ss/Makefile | 89 ++
krb5/util/support/Makefile | 48 +
krb5/util/verto/Makefile | 49 +
share/mk/bsd.libnames.mk | 13 +
share/mk/src.libnames.mk | 81 +-
120 files changed, 6717 insertions(+), 3 deletions(-)
diff --git a/krb5/Makefile b/krb5/Makefile
new file mode 100644
index 000000000000..c49601990c4a
--- /dev/null
+++ b/krb5/Makefile
@@ -0,0 +1,7 @@
+SUBDIR= util .WAIT \
+ include .WAIT \
+ lib .WAIT\
+ plugins libexec usr.bin usr.sbin
+# SUBDIR_PARALLEL=
+
+.include <bsd.subdir.mk>
diff --git a/krb5/Makefile.et b/krb5/Makefile.et
new file mode 100644
index 000000000000..b89e17857675
--- /dev/null
+++ b/krb5/Makefile.et
@@ -0,0 +1,22 @@
+#
+# SPDX-License-Idendifier: BSD-2-Clause
+#
+# Copyright (c) 2025 FreeBSD Foundation
+#
+# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
+# under sponsorship from the FreeBSD Foundation.
+#
+
+.et.h:
+ rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
+ cp ${.ALLSRC} et-h-${.PREFIX}.et
+ ${COMPILE_ET} et-h-${.PREFIX}.et
+ mv et-h-${.PREFIX}.h ${.PREFIX}.h
+ rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
+
+.et.c:
+ rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
+ cp ${.ALLSRC} et-c-${.PREFIX}.et
+ ${COMPILE_ET} et-c-${.PREFIX}.et
+ mv et-c-${.PREFIX}.c ${.PREFIX}.c
+ rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c
diff --git a/krb5/Makefile.inc b/krb5/Makefile.inc
new file mode 100644
index 000000000000..52910c3ebe4a
--- /dev/null
+++ b/krb5/Makefile.inc
@@ -0,0 +1,45 @@
+#
+# SPDX-License-Idendifier: BSD-2-Clause
+#
+# Copyright (c) 2025 FreeBSD Foundation
+#
+# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
+# under sponsorship from the FreeBSD Foundation.
+#
+
+.include <src.opts.mk>
+
+# MIT KRB5 uses KRB5_DIR. Heimdal uses KRB5DIR.
+KRB5_SRCTOP= ${SRCTOP}/krb5
+KRB5_DIR= ${SRCTOP}/crypto/krb5/src
+KRB5_ETDIR?= ${DESTDIR}/usr/share/et
+KRB5_SRCLIBDIR= ${KRB5_DIR}/lib
+
+KRB5_OBJTOP= ${OBJTOP}/krb5
+KRB5_OBJHDR= ${OBJTOP}/include
+COMPILE_ET= compile_et -d ${KRB5_DIR}/util/et --textdomain mit-krb5
+MAKE_COMMANDS= ${KRB5_OBJTOP}/util/ss/mk_cmds
+
+# There are no WARNS levels for this.
+CFLAGS+= -Wno-deprecated-non-prototype \
+ -Wno-macro-redefined \
+ -Wno-unused-parameter
+
+WARNS?= 1
+
+KRB5RCTMPDIR= /var/tmp
+KRB5PREFIX= /usr
+KRB5_EXEC_PREFIX= /usr
+KRB5_BINDIR= /usr/bin
+KRB5_LIBDIR= /usr/lib
+KRB5_SBINDIR= /usr/sbin
+KRB5_MODULEDIR= /usr/lib/krb5/plugins
+KRB5_GSSMODULEDIR= /usr/lib/gss
+KRB5_LOCALEDIR= /usr/share/locale
+KRB5_DOCSDIR= ${SHAREDIR}/doc/krb5
+KRB5_HTMLDOCSDIR= ${KRB5_DOCSDIR}/html
+KRB5_LOCALSTATEDIR= /var
+KRB5_RUNSTATEDIR= /var/run
+KRB5_SYSCONFDIR= /etc
+KRB5_DYNOBJEXT= .so
+KRB5_SYSCONFCONF= /etc/krb5.conf
diff --git a/krb5/README b/krb5/README
new file mode 100644
index 000000000000..95a4beb2c98f
--- /dev/null
+++ b/krb5/README
@@ -0,0 +1,13 @@
+This subtree is world-exportable, as it does not contain any
+cryptographic code.
+
+At the time of writing, it did not even contain source code, only
+Makefiles and headers.
+
+Please maintain this "exportable" status quo.
+
+Thanks!
+
+Cy Schubert
+cy@freebsd.org
+2023-08-09
diff --git a/krb5/include/Makefile b/krb5/include/Makefile
new file mode 100644
index 000000000000..ee086e1ea07d
--- /dev/null
+++ b/krb5/include/Makefile
@@ -0,0 +1,73 @@
+#
+# SPDX-License-Idendifier: BSD-2-Clause
+#
+# Copyright (c) 2025 FreeBSD Foundation
+#
+# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
+# under sponsorship from the FreeBSD Foundation.
+#
+
+PACKAGE= krb5
+
+.include <src.opts.mk>
+
+.include "../Makefile.inc"
+
+SUBDIR= krb5_private krb5 gssrpc gssapi
+
+SUBDIR_PARALLEL=
+
+.include <bsd.subdir.mk>
+
+INCSGROUPS= INCS COM_ERR VERTO GSSAPI_KRB5
+
+INCSDIR= ${INCLUDEDIR}
+
+.PATH: ${KRB5_DIR}/include
+
+INCS= kdb.h \
+ krad.h \
+ krb5.h
+
+GSSAPI_KRB5DIR= ${INCLUDEDIR}/gssapi_krb5/gssapi
+GSSAPI_KRB5= gssapi.h
+
+CLEANFILES= osconf.new
+
+# XXX The output of this needs to be verified against the osconf.h I created
+# It is only used to verify osconf.h has not changed
+osconf.h:
+ cat ./osconf.hin | sed -e "s\"@KRB5RCTMPDIR\"${KRB5RCTMPDIR}\"" -e "s\"@PREFIX\"${KRB5PREFIX}\"" -e "s\"@EXEC_PREFIX\"${KRB5_EXEC_PREFIX}\"" -e "s\"@BINDIR\"${KRB5_BINDIR}\"" -e "s\"@LIBDIR\"${KRB5_LIBDIR}\"" -e "s\"@SBINDIR\"${KRB5_SBINDIR}\"" -e "s\"@MODULEDIR\"${KRB5_MODULEDIR}\"" -e "s\"@GSSMODULEDIR\"${KRB5_GSSMODULEDIR}\"" -e "s\"@LOCALSTATEDIR\"${KRB5_LOCALSTATEDIR}\"" -e "s\"@RUNSTATEDIR\"${KRB5_RUNSTATEDIR}\"" -e "s\"@SYSCONFDIR\"${KRB5_SYSCONFDIR}\"" -e "s\"@DYNOBJEXT\"${KRB5_DYNOBJEXT}\"" -e "s\"@SYSCONFCONF\":${KRB5_SYSCONFCONF}\"" > osconf.new
+ sh ${MOVEIFCHANGED} osconf.new osconf.h
+
+rebuild-error-tables: ${K5_ET_HEADERS}
+
+force:
+
+stage_includes: copies
+installincludes: copies
+SDESTDIR?= ${SYSROOT:U${DESTDIR}}
+
+.PHONY: force rebuild-error-tables osconf.h
+
+.PATH: ${KRB5_DIR}/util/et
+COM_ERRDIR= ${INCLUDEDIR}
+COM_ERR= com_err.h
+
+.PATH: ${KRB5_DIR}/util/verto
+VERTODIR= ${INCLUDEDIR}
+VERTO= verto-module.h \
+ verto.h
+
+.PATH: ${KRB5_DIR}/include/krb5
+
+copies:
+ cd ${KRB5_DIR}/include; \
+ ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m444 ${INCS} ${SDESTDIR}${INCLUDEDIR}
+ cd ${KRB5_DIR}/util/et; \
+ ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m444 ${COM_ERR} ${SDESTDIR}${INCLUDEDIR}
+ cd ${KRB5_DIR}/util/verto; \
+ ${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m444 ${VERTO} ${SDESTDIR}${INCLUDEDIR}
+
+
+.include <bsd.prog.mk>
diff --git a/krb5/include/Makefile.inc b/krb5/include/Makefile.inc
new file mode 100644
index 000000000000..56c36b7539f7
--- /dev/null
+++ b/krb5/include/Makefile.inc
@@ -0,0 +1,10 @@
+#
+# SPDX-License-Idendifier: BSD-2-Clause
+#
+# Copyright (c) 2025 FreeBSD Foundation
+#
+# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
+# under sponsorship from the FreeBSD Foundation.
+#
+
+.include "../Makefile.inc"
diff --git a/krb5/include/autoconf.h b/krb5/include/autoconf.h
new file mode 100644
index 000000000000..24039611c7e7
--- /dev/null
+++ b/krb5/include/autoconf.h
@@ -0,0 +1,768 @@
+/* include/autoconf.h. Generated from autoconf.h.in by configure. */
+/* include/autoconf.h.in. Generated from configure.ac by autoheader. */
+
+
+#ifndef KRB5_AUTOCONF_H
+#define KRB5_AUTOCONF_H
+
+#include <sys/types.h>
+#include <machine/param.h>
+
+
+/* Define if AES-NI support is enabled */
+/* #undef AESNI */
+
+/* Define if socket can't be bound to 0.0.0.0 */
+/* #undef BROKEN_STREAMS_SOCKETS */
+
+/* Define if va_list objects can be simply copied by assignment. */
+/* #undef CAN_COPY_VA_LIST */
+
+/* Define to reduce code size even if it means more cpu usage */
+/* #undef CONFIG_SMALL */
+
+/* Define if __attribute__((constructor)) works */
+#define CONSTRUCTOR_ATTR_WORKS 1
+
+/* Define to use OpenSSL crypto library */
+#define CRYPTO_OPENSSL 1
+
+/* Define to default ccache name */
+#define DEFCCNAME "FILE:/tmp/krb5cc_%{uid}"
+
+/* Define to default client keytab name */
+#define DEFCKTNAME "FILE:/var/krb5/user/%{euid}/client.keytab"
+
+/* Define to default keytab name */
+#define DEFKTNAME "FILE:/etc/krb5.keytab"
+
+/* Define if library initialization should be delayed until first use */
+#define DELAY_INITIALIZER 1
+
+/* Define if __attribute__((destructor)) works */
+#define DESTRUCTOR_ATTR_WORKS 1
+
+/* Define to disable PKINIT plugin support */
+/* #undef DISABLE_PKINIT */
+
+/* Define if LDAP KDB support within the Kerberos library (mainly ASN.1 code)
+ should be enabled. */
+/* #undef ENABLE_LDAP */
+
+/* Define if translation functions should be used. */
+/* #undef ENABLE_NLS */
+
+/* Define if thread support enabled */
+#define ENABLE_THREADS 1
+
+/* Define as return type of endrpcent */
+#define ENDRPCENT_TYPE void
+
+/* Define to the type of elements in the array set by `getgroups'. Usually
+ this is either `int' or `gid_t'. */
+#define GETGROUPS_T gid_t
+
+/* Define if gethostbyname_r returns int rather than struct hostent * */
+#define GETHOSTBYNAME_R_RETURNS_INT 1
+
+/* Type of getpeername second argument. */
+#define GETPEERNAME_ARG3_TYPE GETSOCKNAME_ARG3_TYPE
+
+/* Define if getpwnam_r exists but takes only 4 arguments (e.g., POSIX draft 6
+ implementations like some Solaris releases). */
+/* #undef GETPWNAM_R_4_ARGS */
+
+/* Define if getpwnam_r returns an int */
+#define GETPWNAM_R_RETURNS_INT 1
+
+/* Define if getpwuid_r exists but takes only 4 arguments (e.g., POSIX draft 6
+ implementations like some Solaris releases). */
+/* #undef GETPWUID_R_4_ARGS */
+
+/* Define if getservbyname_r returns int rather than struct servent * */
+#define GETSERVBYNAME_R_RETURNS_INT 1
+
+/* Type of pointer target for argument 3 to getsockname */
+#define GETSOCKNAME_ARG3_TYPE socklen_t
+
+/* Define if gmtime_r returns int instead of struct tm pointer, as on old
+ HP-UX systems. */
+/* #undef GMTIME_R_RETURNS_INT */
+
+/* Define if va_copy macro or function is available. */
+#define HAS_VA_COPY 1
+
+/* Define to 1 if you have the `access' function. */
+#define HAVE_ACCESS 1
+
+/* Define to 1 if you have the <alloca.h> header file. */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* Define to 1 if you have the `bswap16' function. */
+/* #undef HAVE_BSWAP16 */
+
+/* Define to 1 if you have the `bswap64' function. */
+/* #undef HAVE_BSWAP64 */
+
+/* Define to 1 if bswap_16 is available via byteswap.h */
+/* #undef HAVE_BSWAP_16 */
+
+/* Define to 1 if bswap_64 is available via byteswap.h */
+/* #undef HAVE_BSWAP_64 */
+
+/* Define if bt_rseq is available, for recursive btree traversal. */
+#define HAVE_BT_RSEQ 1
+
+/* Define to 1 if you have the <byteswap.h> header file. */
+/* #undef HAVE_BYTESWAP_H */
+
+/* Define to 1 if you have the `chmod' function. */
+#define HAVE_CHMOD 1
+
+/* Define if cmocka library is available. */
+/* #undef HAVE_CMOCKA */
+
+/* Define to 1 if you have the `compile' function. */
+/* #undef HAVE_COMPILE */
+
+/* Define if com_err has compatible gettext support */
+#define HAVE_COM_ERR_INTL 1
+
+/* Define to 1 if you have the <cpuid.h> header file. */
+/* #undef HAVE_CPUID_H */
+
+/* Define to 1 if you have the `daemon' function. */
+#define HAVE_DAEMON 1
+
+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
+ don't. */
+#define HAVE_DECL_STRERROR_R 1
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the `dn_skipname' function. */
+#define HAVE_DN_SKIPNAME 1
+
+/* Define to 1 if you have the <endian.h> header file. */
+#define HAVE_ENDIAN_H 1
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H 1
+
+/* Define to 1 if you have the `EVP_PKEY_get_bn_param' function. */
+#define HAVE_EVP_PKEY_GET_BN_PARAM 1
+
+/* Define to 1 if you have the `explicit_bzero' function. */
+#define HAVE_EXPLICIT_BZERO 1
+
+/* Define to 1 if you have the `explicit_memset' function. */
+/* #undef HAVE_EXPLICIT_MEMSET */
+
+/* Define to 1 if you have the `fchmod' function. */
+#define HAVE_FCHMOD 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `flock' function. */
+#define HAVE_FLOCK 1
+
+/* Define to 1 if you have the `fnmatch' function. */
+#define HAVE_FNMATCH 1
+
+/* Define to 1 if you have the <fnmatch.h> header file. */
+#define HAVE_FNMATCH_H 1
+
+/* Define if you have the getaddrinfo function */
+#define HAVE_GETADDRINFO 1
+
+/* Define to 1 if you have the `getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the `getenv' function. */
+#define HAVE_GETENV 1
+
+/* Define to 1 if you have the `geteuid' function. */
+#define HAVE_GETEUID 1
+
+/* Define if gethostbyname_r exists and its return type is known */
+#define HAVE_GETHOSTBYNAME_R 1
+
+/* Define to 1 if you have the `getnameinfo' function. */
+#define HAVE_GETNAMEINFO 1
+
+/* Define if system getopt should be used. */
+#define HAVE_GETOPT 1
+
+/* Define if system getopt_long should be used. */
+#define HAVE_GETOPT_LONG 1
+
+/* Define if getpwnam_r is available and useful. */
+#define HAVE_GETPWNAM_R 1
+
+/* Define if getpwuid_r is available and useful. */
+#define HAVE_GETPWUID_R 1
+
+/* Define to 1 if you have the `getresgid' function. */
+#define HAVE_GETRESGID 1
+
+/* Define to 1 if you have the `getresuid' function. */
+#define HAVE_GETRESUID 1
+
+/* Define if getservbyname_r exists and its return type is known */
+#define HAVE_GETSERVBYNAME_R 1
+
+/* Have the gettimeofday function */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the `getusershell' function. */
+#define HAVE_GETUSERSHELL 1
+
+/* Define to 1 if you have the `gmtime_r' function. */
+#define HAVE_GMTIME_R 1
+
+/* Define to 1 if you have the <ifaddrs.h> header file. */
+#define HAVE_IFADDRS_H 1
+
+/* Define to 1 if you have the `inet_ntop' function. */
+#define HAVE_INET_NTOP 1
+
+/* Define to 1 if you have the `inet_pton' function. */
+#define HAVE_INET_PTON 1
+
+/* Define to 1 if the system has the type `int16_t'. */
+#define HAVE_INT16_T 1
+
+/* Define to 1 if the system has the type `int32_t'. */
+#define HAVE_INT32_T 1
+
+/* Define to 1 if the system has the type `int8_t'. */
+#define HAVE_INT8_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <keyutils.h> header file. */
+/* #undef HAVE_KEYUTILS_H */
+
+/* Define to 1 if you have the <lber.h> header file. */
+/* #undef HAVE_LBER_H */
+
+/* Define to 1 if you have the <ldap.h> header file. */
+/* #undef HAVE_LDAP_H */
+
+/* Define to 1 if you have the `crypto' library (-lcrypto). */
+#define HAVE_LIBCRYPTO 1
+
+/* Define if building with libedit. */
+#define HAVE_LIBEDIT 1
+
+/* Define to 1 if you have the `nsl' library (-lnsl). */
+/* #undef HAVE_LIBNSL */
+
+/* Define to 1 if you have the `resolv' library (-lresolv). */
+/* #undef HAVE_LIBRESOLV */
+
+/* Define to 1 if you have the `socket' library (-lsocket). */
+/* #undef HAVE_LIBSOCKET */
+
+/* Define if the util library is available */
+#define HAVE_LIBUTIL 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the `localtime_r' function. */
+#define HAVE_LOCALTIME_R 1
+
+/* Define to 1 if you have the <machine/byte_order.h> header file. */
+/* #undef HAVE_MACHINE_BYTE_ORDER_H */
+
+/* Define to 1 if you have the <machine/endian.h> header file. */
+#define HAVE_MACHINE_ENDIAN_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define if netdb.h declares h_errno */
+#define HAVE_NETDB_H_H_ERRNO 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the `ns_initparse' function. */
+#define HAVE_NS_INITPARSE 1
+
+/* Define to 1 if you have the `ns_name_uncompress' function. */
+#define HAVE_NS_NAME_UNCOMPRESS 1
+
+/* Define to 1 if you have the <paths.h> header file. */
+#define HAVE_PATHS_H 1
+
+/* Define if persistent keyrings are supported */
+/* #undef HAVE_PERSISTENT_KEYRING */
+
+/* Define to 1 if you have the <poll.h> header file. */
+#define HAVE_POLL_H 1
+
+/* Define if #pragma weak references work */
+#define HAVE_PRAGMA_WEAK_REF 1
+
+/* Define if you have POSIX threads libraries and header files. */
+#define HAVE_PTHREAD 1
+
+/* Define to 1 if you have the `pthread_once' function. */
+#define HAVE_PTHREAD_ONCE 1
+
+/* Have PTHREAD_PRIO_INHERIT. */
+#define HAVE_PTHREAD_PRIO_INHERIT 1
+
+/* Define to 1 if you have the `pthread_rwlock_init' function. */
+#define HAVE_PTHREAD_RWLOCK_INIT 1
+
+/* Define if pthread_rwlock_init is provided in the thread library. */
+#define HAVE_PTHREAD_RWLOCK_INIT_IN_THREAD_LIB 1
+
+/* Define to 1 if you have the <pwd.h> header file. */
+#define HAVE_PWD_H 1
+
+/* Define if building with GNU Readline. */
+/* #undef HAVE_READLINE */
+
+/* Define if regcomp exists and functions */
+#define HAVE_REGCOMP 1
+
+/* Define to 1 if you have the `regexec' function. */
+#define HAVE_REGEXEC 1
+
+/* Define to 1 if you have the <regexpr.h> header file. */
+/* #undef HAVE_REGEXPR_H */
+
+/* Define to 1 if you have the <regex.h> header file. */
+#define HAVE_REGEX_H 1
+
+/* Define to 1 if you have the `res_nclose' function. */
+#define HAVE_RES_NCLOSE 1
+
+/* Define to 1 if you have the `res_ndestroy' function. */
+#define HAVE_RES_NDESTROY 1
+
+/* Define to 1 if you have the `res_ninit' function. */
+#define HAVE_RES_NINIT 1
+
+/* Define to 1 if you have the `res_nsearch' function. */
+#define HAVE_RES_NSEARCH 1
+
+/* Define to 1 if you have the `res_search' function */
+#define HAVE_RES_SEARCH 1
+
+/* Define to 1 if you have the `re_comp' function. */
+/* #undef HAVE_RE_COMP */
+
+/* Define to 1 if you have the `re_exec' function. */
+/* #undef HAVE_RE_EXEC */
+
+/* Define to 1 if you have the <sasl/sasl.h> header file. */
+/* #undef HAVE_SASL_SASL_H */
+
+/* Define if struct sockaddr contains sa_len */
+#define HAVE_SA_LEN 1
+
+/* Define to 1 if you have the `secure_getenv' function. */
+#define HAVE_SECURE_GETENV 1
+
+/* Define to 1 if you have the `setegid' function. */
+#define HAVE_SETEGID 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `seteuid' function. */
+#define HAVE_SETEUID 1
+
+/* Define if setluid provided in OSF/1 security library */
+/* #undef HAVE_SETLUID */
+
+/* Define to 1 if you have the `setregid' function. */
+#define HAVE_SETREGID 1
+
+/* Define to 1 if you have the `setresgid' function. */
+#define HAVE_SETRESGID 1
+
+/* Define to 1 if you have the `setresuid' function. */
+#define HAVE_SETRESUID 1
+
+/* Define to 1 if you have the `setreuid' function. */
+#define HAVE_SETREUID 1
+
+/* Define to 1 if you have the `setsid' function. */
+#define HAVE_SETSID 1
+
+/* Define to 1 if you have the `setvbuf' function. */
+#define HAVE_SETVBUF 1
+
+/* Define if there is a socklen_t type. If not, probably use size_t */
+#define HAVE_SOCKLEN_T 1
+
+/* Define to 1 if you have the `srand' function. */
+#define HAVE_SRAND 1
+
+/* Define to 1 if you have the `srand48' function. */
+#define HAVE_SRAND48 1
+
+/* Define to 1 if you have the `srandom' function. */
+#define HAVE_SRANDOM 1
+
+/* Define to 1 if the system has the type `ssize_t'. */
+#define HAVE_SSIZE_T 1
+
+/* Define to 1 if you have the `stat' function. */
+#define HAVE_STAT 1
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `step' function. */
+/* #undef HAVE_STEP */
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strlcpy' function. */
+#define HAVE_STRLCPY 1
+
+/* Define to 1 if you have the `strptime' function. */
+#define HAVE_STRPTIME 1
+
+/* Define to 1 if the system has the type `struct cmsghdr'. */
+#define HAVE_STRUCT_CMSGHDR 1
+
+/* Define if there is a struct if_laddrconf. */
+/* #undef HAVE_STRUCT_IF_LADDRCONF */
+
+/* Define to 1 if the system has the type `struct in6_pktinfo'. */
+#define HAVE_STRUCT_IN6_PKTINFO 1
+
+/* Define to 1 if the system has the type `struct in_pktinfo'. */
+/* #undef HAVE_STRUCT_IN_PKTINFO */
+
+/* Define if there is a struct lifconf. */
+/* #undef HAVE_STRUCT_LIFCONF */
+
+/* Define to 1 if the system has the type `struct rt_msghdr'. */
+#define HAVE_STRUCT_RT_MSGHDR 1
+
+/* Define to 1 if the system has the type `struct sockaddr_storage'. */
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+
+/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_MTIMENSEC 1
+
+/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1
+
+/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+
+/* Define to 1 if you have the <sys/bswap.h> header file. */
+/* #undef HAVE_SYS_BSWAP_H */
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define if sys_errlist in libc */
+#define HAVE_SYS_ERRLIST 1
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#define HAVE_SYS_FILE_H 1
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#define HAVE_SYS_FILIO_H 1
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/sockio.h> header file. */
+#define HAVE_SYS_SOCKIO_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define to 1 if you have the `timegm' function. */
+#define HAVE_TIMEGM 1
+
+/* Define to 1 if you have the <time.h> header file. */
+#define HAVE_TIME_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `unsetenv' function. */
+#define HAVE_UNSETENV 1
+
+/* Define to 1 if the system has the type `u_char'. */
+#define HAVE_U_CHAR 1
+
+/* Define to 1 if the system has the type `u_int'. */
+#define HAVE_U_INT 1
+
+/* Define to 1 if the system has the type `u_int16_t'. */
+#define HAVE_U_INT16_T 1
+
+/* Define to 1 if the system has the type `u_int32_t'. */
+#define HAVE_U_INT32_T 1
+
+/* Define to 1 if the system has the type `u_int8_t'. */
+#define HAVE_U_INT8_T 1
+
+/* Define to 1 if the system has the type `u_long'. */
+#define HAVE_U_LONG 1
+
+/* Define to 1 if you have the `vasprintf' function. */
+#define HAVE_VASPRINTF 1
+
+/* Define to 1 if you have the `vsnprintf' function. */
+#define HAVE_VSNPRINTF 1
+
+/* Define to 1 if you have the `vsprintf' function. */
+#define HAVE_VSPRINTF 1
+
+/* Define to 1 if the system has the type `__int128_t'. */
+#define HAVE___INT128_T 1
+
+/* Define to 1 if the system has the type `__uint128_t'. */
+#define HAVE___UINT128_T 1
+
+/* Define if errno.h declares perror */
+/* #undef HDR_HAS_PERROR */
+
+/* May need to be defined to enable IPv6 support, for example on IRIX */
+/* #undef INET6 */
+
+/* Define if MIT Project Athena default configuration should be used */
+/* #undef KRB5_ATHENA_COMPAT */
+
+/* Define for DNS support of locating realms and KDCs */
+#define KRB5_DNS_LOOKUP 1
+
+/* Define to enable DNS lookups of Kerberos realm names */
+/* #undef KRB5_DNS_LOOKUP_REALM */
+
+/* Define if the KDC should return only vague error codes to clients */
+/* #undef KRBCONF_VAGUE_ERRORS */
+
+/* define if the system header files are missing prototype for daemon() */
+#define NEED_DAEMON_PROTO 1
+
+/* Define if in6addr_any is not defined in libc */
+/* #undef NEED_INSIXADDR_ANY */
+
+/* define if the system header files are missing prototype for
+ ss_execute_command() */
+/* #undef NEED_SS_EXECUTE_COMMAND_PROTO */
+
+/* define if the system header files are missing prototype for strptime() */
+/* #undef NEED_STRPTIME_PROTO */
+
+/* define if the system header files are missing prototype for swab() */
+/* #undef NEED_SWAB_PROTO */
+
*** 6711 LINES SKIPPED ***