dnl #################### dnl ## Initialization ## dnl #################### AC_INIT(Apache Kerberos Module, alpha2, modauthkerb-developers@lists.sourceforge.net, mod_auth_kerb) dnl #################### dnl ## Config Options ## dnl #################### AC_ARG_WITH(api, [ --with-api=API api to use (apache1, apache2)], [ case $withval in 'apache1') ac_api=apache1 ac_apidefs="-DAPXS1" ;; 'apache2') ac_api=apache2 ac_apidefs="-DAPXS2" ;; *) AC_ERROR(You can only specify apache1 or apache2.) ;; esac ] ) AC_ARG_WITH(apxs, [ --with-apxs=PATH path to apxs], [ if test -e $withval ; then APXS="$withval" else AC_ERROR(Specified apxs path does not exist.) fi ] ) AC_ARG_WITH(static, [ --with-static module is to be statically linked], [ ac_static="yes" ] ) AC_ARG_WITH(krb5, [ --with-krb5=DIR path to Kerberos 5 install], [ if test -d $withval ; then CFLAGS="$CFLAGS -I$withval/include -I$withval/include/kerberosIV" CPPFLAGS="$CPPFLAGS -I$withval/include -I$withval/include/kerberosIV" LDFLAGS="$LDFLAGS -L$withval/lib" case "$host" in *-solaris*) LDFLAGS="$LDFLAGS -R$withval/lib" ;; esac else AC_ERROR(Specified Kerberos 5 directory doesn't exist.) fi ] ) AC_ARG_WITH(krb5-include, [ --with-krb5-include=DIR include path to Kerberos 5 install], [ if test -d $withval ; then CFLAGS="$CFLAGS -I$withval -I$withval/include/kerberosIV" CPPFLAGS="$CPPFLAGS -I$withval -I$withval/include/kerberosIV" else AC_ERROR(Specified Kerberos 5 directory doesn't exist.) fi ] ) AC_ARG_WITH(krb5-lib, [ --with-krb5-lib=DIR lib path to Kerberos 5 install], [ if test -d $withval ; then LDFLAGS="$LDFLAGS -L$withval" case "$host" in *-solaris*) LDFLAGS="$LDFLAGS -R$withval" ;; esac else AC_ERROR(Specified Kerberos 5 directory doesn't exist.) fi ] ) AC_ARG_ENABLE(krb5, [ --disable-krb5 force disabling of krb5 support], [ if test "$enable_krb5" = "no" ; then ac_krb5_disable="yes" fi ], ) AC_ARG_WITH(krb4, [ --with-krb4=DIR path to Kerberos 4 install], [ if test -d $withval ; then CFLAGS="$CFLAGS -I$withval/include" CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib" case "$host" in *-solaris*) LDFLAGS="$LDFLAGS -R$withval/lib" ;; esac else AC_ERROR(Specified Kerberos 4 directory doesn't exist.) fi ] ) AC_ARG_WITH(krb4-include, [ --with-krb4-include=DIR include path to Kerberos 4 install], [ if test -d $withval ; then CFLAGS="$CFLAGS -I$withval" CPPFLAGS="$CPPFLAGS -I$withval" else AC_ERROR(Specified Kerberos 4 directory doesn't exist.) fi ] ) AC_ARG_WITH(krb4-lib, [ --with-krb4-lib=DIR lib path to Kerberos 4 install], [ if test -d $withval ; then LDFLAGS="$LDFLAGS -L$withval" case "$host" in *-solaris*) LDFLAGS="$LDFLAGS -R$withval" ;; esac else AC_ERROR(Specified Kerberos 4 directory doesn't exist.) fi ] ) AC_ARG_ENABLE(krb4, [ --disable-krb4 force disabling of krb4 support], [ if test "$enable_krb4" = "no" ; then ac_krb4_disable="yes" fi ], ) dnl #################### dnl ## Program Checks ## dnl #################### AC_PROG_CC if test -z "$ac_static" ; then AC_PATH_PROG(APXS, apxs) if test -z "$APXS" ; then echo "No apxs found. Defaulting to static module generation." ac_static="yes" fi fi dnl ############### dnl ## Libraries ## dnl ############### if test -z "$ac_krb5_disable" ; then AC_CHECK_LIB(krb5, krb5_get_in_tkt_with_password, [ ac_krb5="yes" ac_krbdefs="-DKRB5" ac_krblibs="-lkrb5" AC_CHECK_LIB(k5crypto, krb5_string_to_key, [ ac_krblibs="$ac_krblibs -lk5crypto" ], [ AC_CHECK_LIB(crypto, krb5_string_to_key, [ ac_krblibs="$ac_krblibs -lcrypto" ], [ ac_krblibs="" ], "-lcom_err") ], "-lcom_err") ac_krblibs="$ac_krblibs -lcom_err" if test -z "$ac_krb4_disable" ; then if test -n "$ac_krblibs" ; then AC_CHECK_LIB(krb4, krb_get_pw_in_tkt, [ ac_krb4="yes" ac_krbdefs="$ac_krbdefs -DKRB4" ac_krblibs="$ac_krblibs -lkrb4 $ac_krblibs" ],, $ac_krblibs) fi fi ],, "-lcom_err") fi if test -z "$ac_krb4_disable" -a -z "$ac_krb4" ; then AC_CHECK_LIB(krb, krb_get_pw_in_tkt, [ ac_krb4="yes" ac_krbdefs="-DKRB4" ac_krblibs="$ac_krblibs -lkrb -lcom_err" ],, "-lcom_err") fi if test -z "$ac_krb4" -a -z "$ac_krb5" ; then AC_ERROR(Neither Kerberos 5 nor 4 support available.) fi dnl ############# dnl ## Headers ## dnl ############# if test -n "$ac_krb5" ; then AC_CHECK_HEADERS(krb5.h, [ ac_foundkrb5="yes" break ]) if test -z "$ac_foundkrb5" ; then AC_MSG_RESULT(krb5.h not found... removing krb5 support.) ac_krb5="" fi fi if test -n "$ac_krb4" ; then AC_CHECK_HEADERS(kerberosIV/krb.h krb.h, [ ac_foundkrb4="yes" break ]) if test -z "$ac_foundkrb4" ; then AC_MSG_RESULT(krb.h not found... removing krb4 support.) ac_krb4="" fi fi if test -z "$ac_krb4" -a -z "$ac_krb5" ; then AC_ERROR(Neither Kerberos 5 nor 4 support available.) fi dnl ############## dnl ## Typedefs ## dnl ############## dnl ################ dnl ## Structures ## dnl ################ dnl ############################## dnl ## Compiler Characteristics ## dnl ############################## if test -z "$ac_api" ; then if test -n "`$APXS -q bindir 2> /dev/null`" ; then echo "API autodetected to be Apache 2.*" ac_api=apache2 ac_apidefs="-DAPXS2" else echo "API autodetected to be Apache 1.*" ac_api=apache1 ac_apidefs="-DAPXS1" fi fi dnl ####################### dnl ## Library Functions ## dnl ####################### dnl ##################### dnl ## System Services ## dnl ##################### dnl ########################## dnl ## Last Minute Settings ## dnl ########################## LIBS="$LIBS $ac_krblibs" DEFS="$DEFS $ac_apidefs $ac_krbdefs" CFLAGS="$CFLAGS $DEFS" dnl ######################### dnl ## Create Output Files ## dnl ######################### if test "$ac_static" = "yes" ; then echo "" echo "" echo "This module is to be built statically into Apache. You will need" echo "to place it into the appropriate location in the source tree and" echo "compile Apache accordingly. You can look at the online docs at" echo "http://modauthkerb.sourceforge.net/ or README.static for more" echo "information." echo "" echo "" else AC_OUTPUT(Makefile) AC_OUTPUT(src/Makefile) fi exit 0