1 AC_REVISION($Revision$)
3 AC_INIT(mod_auth_gssapi, 0.1, modauthkerb-developers@lists.sourceforge.net)
4 AC_CONFIG_SRCDIR([mod_auth_gssapi.c])
5 AC_CONFIG_HEADER([config.h])
12 # Checks for header files.
14 AC_CHECK_HEADERS([limits.h netdb.h stddef.h stdlib.h string.h unistd.h])
16 # Checks for typedefs, structures, and compiler characteristics.
27 AC_HELP_STRING([--with-gss=dir],[use gss in dir]),
28 [ with_gss="$withval" ])
29 if test "x$with_gss" = "xyes" ; then
33 ac_save_CPPFLAGS="$CPPFLAGS"
34 ac_save_LDFLAGS="$LDFLAGS"
37 if test -z "$GSS_CPPFLAGS"; then
39 if test -n "with_gss"; then
40 TMP_GSS_CPPFLAGS="-I$with_gss/include"
42 CPPFLAGS="$CPPFLAGS $TMP_GSS_CPPFLAGS"
43 AC_CHECK_HEADERS(gssapi.h,
44 [ GSS_CPPFLAGS="$TMP_GSS_CPPFLAGS" ])
45 if test -z "$GSS_CPPFLAGS"; then
46 AC_CHECK_HEADERS(gssapi/gssapi.h,
47 [ GSS_CPPFLAGS="$TMP_GSS_CPPFLAGS" ])
49 CPPFLAGS="$ac_save_CPPFLAGS"
52 #if test "x$with_gss"="x"; then
57 if test -z "$GSS_LDFLAGS"; then
59 if test -n "$with_gss"; then
60 # XXX think about lib64, etc
61 TMP_GSS_LDFLAGS="-L $with_gss/lib"
64 LIBS="$LIBS $TMP_GSS_LDFLAGS"
66 [gssapi_krb5], gss_accept_sec_context,
68 LIBS="-lgssapi_krb5 $LIBS"],
69 [AC_CHECK_LIB(gssapi, gss_accept_sec_context, [ found_gssapi=yes
70 LIBS="$LIBS -lgssapi"],
71 [LIBS="$ac_save_LIBS"])])
72 if test -z "$found_gssapi"; then
73 AC_MSG_ERROR([failed to find a GSS-API library])
76 # If SPNEGO is supported by the gssapi libraries, we shouln't build our support.
77 # SPNEGO is supported as of Heimdal 0.7, and MIT 1.5.
78 gssapi_supports_spnego=""
79 AC_MSG_CHECKING(whether the GSSAPI libraries support SPNEGO)
81 ac_save_CFLAGS="$CFLAGS"
82 CFLAGS="$GSS_CPPFLAGS"
84 ac_save_LDFLAGS=$LDFLAGS
85 LDFLAGS="$GSS_LDFLAGS"
86 # to make sure the testing binary can be launched:
87 if test -n "$with_gss"; then
88 LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,$with_gss/lib"
93 int main(int argc, char** argv)
95 OM_uint32 major_status, minor_status;
97 gss_OID_desc spnego_oid_desc = {6, (void *)"\x2b\x06\x01\x05\x05\x02"};
100 major_status = gss_indicate_mechs(&minor_status, &mech_set);
101 if (GSS_ERROR(major_status))
105 for (i=0; i < mech_set->count && !SPNEGO; i++) {
106 gss_OID tmp_oid = &mech_set->elements[i];
107 if (tmp_oid->length == spnego_oid_desc.length &&
108 !memcmp(tmp_oid->elements, spnego_oid_desc.elements,
114 gss_release_oid_set(&minor_status, &mech_set);
118 [ if test $? -eq 0; then
120 AC_DEFINE(GSSAPI_SUPPORTS_SPNEGO,1,[GSS-API implementation has its own SPNEGO])
121 gssapi_supports_spnego=yes
128 CFLAGS="$ac_save_CFLAGS"
129 LDFLAGS="$ac_save_LDFLAGS"
131 if test -z "$gssapi_supports_spnego"; then
133 spnegokrb5/asn1_MechType.c \
134 spnegokrb5/asn1_MechTypeList.c \
135 spnegokrb5/asn1_ContextFlags.c \
136 spnegokrb5/asn1_NegTokenInit.c \
137 spnegokrb5/asn1_NegTokenTarg.c \
138 spnegokrb5/der_get.c \
139 spnegokrb5/der_put.c \
140 spnegokrb5/der_free.c \
141 spnegokrb5/der_length.c \
142 spnegokrb5/der_copy.c \
143 spnegokrb5/timegm.c \
144 spnegokrb5/init_sec_context.c \
145 spnegokrb5/accept_sec_context.c \
146 spnegokrb5/encapsulate.c \
147 spnegokrb5/decapsulate.c \
148 spnegokrb5/external.c"
150 AC_SUBST(GSS_CPPFLAGS)
151 AC_SUBST(GSS_LDFLAGS)
152 AC_SUBST(SPNEGO_SRCS)
158 AC_HELP_STRING([--with-apache=dir],[use apache in dir]),
159 [ with_apache="$withval" ])
161 AC_PATH_PROG([APXS], [apxs], [], [$with_apache/bin:$with_apache/sbin:$PATH])
162 if test -z "$APXS"; then
163 AC_PATH_PROG([APXS], [apxs2], [], [$with_apache/bin:$with_apache/sbin:$PATH])
164 if test -z "$APXS"; then
165 AC_MSG_ERROR([failed to find apache apxs executable])
170 AC_CONFIG_FILES([Makefile])