Probe directly for com_err.h

com_err.h can be in com_err.h, et/com_err.h, or krb5/com_err.h (for
netbsd 6.1 and possibly other netbsd). aklog currently only includes
either com_err.h or et/com_err.h, depending on autoconf probes
performed by the krb5.m4 macros.

So, also look for krb5/com_err.h. The krb5.m4 macros currently only
look for com_err.h at all if certain other libkrb5 tests return
certain results, so just look for all of them directly in some of our
openafs-specific krb5 probing logic in configure.ac.

Also remove the duplicate check for et/com_err.h in acinclude.m4 while
we're here. We only use et/com_err.h if krb5 support is enabled, so
only check for it in the second of krb5 probes.

FIXES 131716

Change-Id: Ic454b9bf7043f91654dcd1c262ab3790bf2ad272
Reviewed-on: http://gerrit.openafs.org/10244
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Andrew Deason 2013-09-11 11:22:20 -05:00 committed by Jeffrey Altman
parent 4212c7e604
commit 8e32b11be6
3 changed files with 12 additions and 4 deletions

View File

@ -1335,7 +1335,6 @@ AC_CHECK_HEADERS([ \
arpa/nameser.h \
curses.h\
direct.h \
et/com_err.h \
errno.h \
fcntl.h \
grp.h \

View File

@ -87,6 +87,11 @@ AS_IF([test x"$KRB5_LIBS" != x],
])
AC_CHECK_HEADERS([kerberosIV/krb.h])
AC_CHECK_HEADERS([kerberosV/heim_err.h])
AC_CHECK_HEADERS([com_err.h et/com_err.h krb5/com_err.h])
AS_IF([test x"$ac_cv_header_com_err_h" != xyes \
&& test x"$ac_cv_header_et_com_err_h" != xyes \
&& test x"$ac_cv_header_krb5_com_err_h" != xyes],
[AC_MSG_ERROR([Cannot find a usable com_err.h])])
AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.keyblock.enctype, krb5_creds.session,
krb5_prompt.type], [], [], [#include <krb5.h>])
dnl If we have krb5_creds.session, we are using heimdal

View File

@ -46,10 +46,14 @@
#include <afs/token.h>
#include <krb5.h>
#if defined(HAVE_ET_COM_ERR_H)
#include <et/com_err.h>
#ifdef HAVE_COM_ERR_H
# include <com_err.h>
#elif HAVE_ET_COM_ERR_H
# include <et/com_err.h>
#elif HAVE_KRB5_COM_ERR_H
# include <krb5/com_err.h>
#else
#include <com_err.h>
# error No com_err.h? We need some kind of com_err.h
#endif
#ifndef HAVE_KERBEROSV_HEIM_ERR_H