137 lines
3.5 KiB
Plaintext
137 lines
3.5 KiB
Plaintext
dnl EVO_KRB5_SUPPORT(default)
|
|
dnl Add --with-krb5, --with-krb5-libs and --with-krb5-include options.
|
|
dnl --with-krb5 defaults to the given value if not specified.
|
|
#serial 0.2
|
|
AC_DEFUN([EVO_KRB5_SUPPORT],[
|
|
dnl ******************************
|
|
dnl Kerberos
|
|
dnl ******************************
|
|
default="$1"
|
|
AC_ARG_WITH([krb5],
|
|
AS_HELP_STRING([--with-krb5=PATH],
|
|
[Location of Kerberos 5 install dir]))
|
|
|
|
AC_ARG_WITH([krb5-libs],
|
|
AS_HELP_STRING([--with-krb5-libs=PATH],
|
|
[Location of Kerberos 5 libraries]))
|
|
|
|
AC_ARG_WITH([krb5-includes],
|
|
AS_HELP_STRING([--with-krb5-includes=PATH],
|
|
[Location of Kerberos 5 headers]))
|
|
|
|
dnl ******************************
|
|
dnl Kerberos 5
|
|
dnl ******************************
|
|
msg_krb5="no"
|
|
AC_MSG_CHECKING([for Kerberos 5])
|
|
with_krb5="${with_krb5:=$default}"
|
|
case $with_krb5 in
|
|
no|"")
|
|
with_krb5=no
|
|
;;
|
|
yes)
|
|
with_krb5=/usr
|
|
;;
|
|
*)
|
|
with_krb5=$with_krb5
|
|
;;
|
|
esac
|
|
|
|
if test "x${with_krb5}" != "xno"; then
|
|
LIBS_save="$LIBS"
|
|
|
|
case $with_krb5_libs in
|
|
yes|no|"")
|
|
with_krb5_libs=$with_krb5/lib
|
|
;;
|
|
*)
|
|
with_krb5_libs=$with_krb5_libs
|
|
;;
|
|
esac
|
|
|
|
case $with_krb5_includes in
|
|
yes|no|"")
|
|
with_krb5_includes=$with_krb5/include
|
|
;;
|
|
*)
|
|
with_krb5_includes=$with_krb5_includes
|
|
;;
|
|
esac
|
|
|
|
mitlibs="-lkrb5 -lk5crypto -lcom_err -lgssapi_krb5"
|
|
heimlibs="-lkrb5 -lcrypto -lasn1 -lcom_err -lroken -lgssapi"
|
|
sunlibs="-lkrb5 -lgss"
|
|
AC_CACHE_VAL([ac_cv_lib_kerberos5],
|
|
[
|
|
LIBS="$LIBS -L$with_krb5_libs $mitlibs"
|
|
AC_LINK_IFELSE([AC_LANG_CALL([], [krb5_init_context])],
|
|
[ac_cv_lib_kerberos5="$mitlibs"],
|
|
[
|
|
LIBS="$LIBS_save -L$with_krb5_libs $heimlibs"
|
|
AC_LINK_IFELSE([AC_LANG_CALL([], [krb5_init_context])],
|
|
[ac_cv_lib_kerberos5="$heimlibs"],
|
|
[
|
|
LIBS="$LIBS_save -L$with_krb5_libs $sunlibs"
|
|
AC_LINK_IFELSE([AC_LANG_CALL([], [krb5_init_context])],
|
|
[ac_cv_lib_kerberos5="$sunlibs"], [ac_cv_lib_kerberos5="no"])
|
|
])
|
|
])
|
|
LIBS="$LIBS_save"
|
|
])
|
|
if test "$ac_cv_lib_kerberos5" != "no"; then
|
|
AC_DEFINE(HAVE_KRB5,1,[Define if you have Krb5])
|
|
if test "$ac_cv_lib_kerberos5" = "$mitlibs"; then
|
|
AC_DEFINE(HAVE_MIT_KRB5,1,[Define if you have MIT Krb5])
|
|
if test -z "$with_krb5_includes"; then
|
|
KRB5_CFLAGS="-I$with_krb5/include"
|
|
else
|
|
KRB5_CFLAGS="-I$with_krb5_includes"
|
|
fi
|
|
msg_krb5="yes (MIT)"
|
|
else
|
|
if test "$ac_cv_lib_kerberos5" = "$heimlibs"; then
|
|
AC_DEFINE(HAVE_HEIMDAL_KRB5,1,[Define if you have Heimdal])
|
|
if test -z "$with_krb5_includes"; then
|
|
KRB5_CFLAGS="-I$with_krb5/include/heimdal"
|
|
else
|
|
KRB5_CFLAGS="-I$with_krb5_includes"
|
|
fi
|
|
msg_krb5="yes (Heimdal)"
|
|
else
|
|
AC_DEFINE(HAVE_SUN_KRB5,1,[Define if you have Sun Kerberosv5])
|
|
if test -z "$with_krb5_includes"; then
|
|
KRB5_CFLAGS="-I$with_krb5/include/kerberosv5"
|
|
else
|
|
KRB5_CFLAGS="-I$with_krb5_includes"
|
|
fi
|
|
msg_krb5="yes (Sun)"
|
|
fi
|
|
fi
|
|
KRB5_LIBS="-L$with_krb5_libs $ac_cv_lib_kerberos5"
|
|
else
|
|
AC_MSG_ERROR([You specified with krb5, but it was not found.])
|
|
fi
|
|
else
|
|
msg_krb5="no"
|
|
fi
|
|
AC_MSG_RESULT([$msg_krb5])
|
|
|
|
AM_CONDITIONAL(ENABLE_KRB5, [test "x$with_krb5" != "xno"])
|
|
|
|
AC_CHECK_HEADER([et/com_err.h],
|
|
[AC_DEFINE([HAVE_ET_COM_ERR_H], 1, [Have <et/com_err.h>])],,
|
|
[[ #if HAVE_ET_COM_ERR_H
|
|
#include <com_err.h>
|
|
#endif
|
|
]])
|
|
AC_CHECK_HEADER([com_err.h],
|
|
[AC_DEFINE([HAVE_COM_ERR_H], 1, [Have <com_err.h>])],,
|
|
[[ #if HAVE_COM_ERR_H
|
|
#include <com_err.h>
|
|
#endif
|
|
]])
|
|
|
|
AC_SUBST(KRB5_CFLAGS)
|
|
AC_SUBST(KRB5_LIBS)
|
|
])
|