1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
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)
])
|