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])
11 # Checks for header files.
13 AC_CHECK_HEADERS([limits.h netdb.h stddef.h stdlib.h string.h unistd.h])
15 # Checks for typedefs, structures, and compiler characteristics.
26 AC_HELP_STRING([--with-gss=dir],[use gss in dir]),
27 [ with_gss="$withval" ])
28 if test "x$with_gss" = "xyes" ; then
32 ac_save_CPPFLAGS="$CPPFLAGS"
33 ac_save_LDFLAGS="$LDFLAGS"
36 if test -z "$GSS_CPPFLAGS"; then
38 if test -n "with_gss"; then
39 TMP_GSS_CPPFLAGS="-I$with_gss/include"
41 CPPFLAGS="$CPPFLAGS $TMP_GSS_CPPFLAGS"
42 AC_CHECK_HEADERS(gssapi.h,
43 [ GSS_CPPFLAGS="$TMP_GSS_CPPFLAGS" ])
44 if test -z "$GSS_CPPFLAGS"; then
45 AC_CHECK_HEADERS(gssapi/gssapi.h,
46 [ GSS_CPPFLAGS="$TMP_GSS_CPPFLAGS" ])
48 CPPFLAGS="$ac_save_CPPFLAGS"
51 #if test "x$with_gss"="x"; then
56 if test -z "$GSS_LDFLAGS"; then
58 if test -n "$with_gss"; then
59 # XXX think about lib64, etc
60 TMP_GSS_LDFLAGS="-L $with_gss/lib"
63 LIBS="$LIBS $TMP_GSS_LDFLAGS"
65 [gssapi_krb5], gss_accept_sec_context,
67 LIBS="-lgssapi_krb5 $LIBS"],
68 [AC_CHECK_LIB(gssapi, gss_accept_sec_context, [ found_gssapi=yes
69 LIBS="$LIBS -lgssapi"],
70 [LIBS="$ac_save_LIBS"])])
71 if test -z "$found_gssapi"; then
72 AC_MSG_ERROR([failed to find a GSS-API library])
75 # If SPNEGO is supported by the gssapi libraries, we shouln't build our support.
76 # SPNEGO is supported as of Heimdal 0.7, and MIT 1.5.
77 gssapi_supports_spnego=""
78 AC_MSG_CHECKING(whether the GSSAPI libraries support SPNEGO)
80 ac_save_CFLAGS="$CFLAGS"
81 CFLAGS="$GSS_CPPFLAGS"
83 ac_save_LDFLAGS=$LDFLAGS
84 LDFLAGS="$GSS_LDFLAGS"
85 # to make sure the testing binary can be launched:
86 if test -n "$with_gss"; then
87 LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,$with_gss/lib"
92 int main(int argc, char** argv)
94 OM_uint32 major_status, minor_status;
96 gss_OID_desc spnego_oid_desc = {6, (void *)"\x2b\x06\x01\x05\x05\x02"};
99 major_status = gss_indicate_mechs(&minor_status, &mech_set);
100 if (GSS_ERROR(major_status))
104 for (i=0; i < mech_set->count && !SPNEGO; i++) {
105 gss_OID tmp_oid = &mech_set->elements[i];
106 if (tmp_oid->length == spnego_oid_desc.length &&
107 !memcmp(tmp_oid->elements, spnego_oid_desc.elements,
113 gss_release_oid_set(&minor_status, &mech_set);
117 [ if test $? -eq 0; then
119 AC_DEFINE(GSSAPI_SUPPORTS_SPNEGO,1,[GSS-API implementation has its own SPNEGO])
120 gssapi_supports_spnego=yes
127 CFLAGS="$ac_save_CFLAGS"
128 LDFLAGS="$ac_save_LDFLAGS"
130 if test -z "$gssapi_supports_spnego"; then
132 spnegokrb5/asn1_MechType.c \
133 spnegokrb5/asn1_MechTypeList.c \
134 spnegokrb5/asn1_ContextFlags.c \
135 spnegokrb5/asn1_NegTokenInit.c \
136 spnegokrb5/asn1_NegTokenTarg.c \
137 spnegokrb5/der_get.c \
138 spnegokrb5/der_put.c \
139 spnegokrb5/der_free.c \
140 spnegokrb5/der_length.c \
141 spnegokrb5/der_copy.c \
142 spnegokrb5/timegm.c \
143 spnegokrb5/init_sec_context.c \
144 spnegokrb5/accept_sec_context.c \
145 spnegokrb5/encapsulate.c \
146 spnegokrb5/decapsulate.c \
147 spnegokrb5/external.c"
149 AC_SUBST(GSS_CPPFLAGS)
150 AC_SUBST(GSS_LDFLAGS)
151 AC_SUBST(SPNEGO_SRCS)
157 AC_HELP_STRING([--with-apache=dir],[use apache in dir]),
158 [ with_apache="$withval" ])
160 AC_PATH_PROG([APXS], [apxs], [], [$with_apache/bin:$with_apache/sbin:$PATH])
161 if test -z "$APXS"; then
162 AC_PATH_PROG([APXS], [apxs2], [], [$with_apache/bin:$with_apache/sbin:$PATH])
163 if test -z "$APXS"; then
164 AC_MSG_ERROR([failed to find apache apxs executable])
169 AC_CONFIG_FILES([Makefile])