dnl kerberos_v5.m4--Kerberos 5 libraries and includes dnl Derrick Brashear dnl from KTH krb and Arla dnl $Id: kerberos_v5.m4,v 1.9 2005/04/26 19:14:08 shadow Exp $ AC_DEFUN([CMU_KRB5_INC_WHERE1], [ saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$saved_CPPFLAGS -I$1" AC_TRY_COMPILE([#include ], [krb5_keyblock foo;], ac_cv_found_krb5_inc=yes, ac_cv_found_krb5_inc=no) CPPFLAGS=$saved_CPPFLAGS ]) AC_DEFUN([CMU_KRB5_INC_WHERE], [ for i in $1; do AC_MSG_CHECKING(for krb5 headers in $i) CMU_KRB5_INC_WHERE1($i) CMU_TEST_INCPATH($i, krb5) if test "$ac_cv_found_krb5_inc" = "yes"; then ac_cv_krb5_where_inc=$i AC_MSG_RESULT(found) break else AC_MSG_RESULT(not found) fi done ]) # # Test for kerberos lib files # AC_DEFUN([CMU_KRB5_LIB_WHERE1], [ saved_LIBS=$LIBS LIBS="$saved_LIBS -L$1 -lkrb5 -lk5crypto" AC_TRY_LINK(, [krb5_get_in_tkt();], [ac_cv_found_krb5_lib=yes], ac_cv_found_krb5_lib=no) LIBS=$saved_LIBS ]) AC_DEFUN([CMU_KRB5_LIB_WHERE], [ for i in $1; do AC_MSG_CHECKING(for krb5 libraries in $i) CMU_KRB5_LIB_WHERE1($i) CMU_TEST_LIBPATH($i, krb5) if test "$ac_cv_found_krb5_lib" = "yes" ; then ac_cv_krb5_where_lib=$i AC_MSG_RESULT(found) break else AC_MSG_RESULT(not found) fi done ]) AC_DEFUN([CMU_KRB5], [ AC_REQUIRE([CMU_FIND_LIB_SUBDIR]) AC_REQUIRE([CMU_SOCKETS]) AC_REQUIRE([CMU_USE_COMERR]) AC_ARG_WITH(krb5, [ --with-krb5=PREFIX Compile with Kerberos 5 support], [if test "X$with_krb5" = "X"; then with_krb5=yes fi]) AC_ARG_WITH(krb5-lib, [ --with-krb5-lib=dir use kerberos 5 libraries in dir], [if test "$withval" = "yes" -o "$withval" = "no"; then AC_MSG_ERROR([No argument for --with-krb5-lib]) fi]) AC_ARG_WITH(krb5-include, [ --with-krb5-include=dir use kerberos 5 headers in dir], [if test "$withval" = "yes" -o "$withval" = "no"; then AC_MSG_ERROR([No argument for --with-krb5-include]) fi]) AC_ARG_WITH(krb5-impl, [ --with-krb5-impl=heimdal use heimdal kerberos 5 libraries --with-krb5-impl=mit use MIT kerberos 5 libraries], [if test "$withval" != "heimdal" -a "$withval" != "mit"; then AC_MSG_ERROR([Invalid argument for --with-krb5-impl]) fi]) if test "X$with_krb5" != "X"; then if test "$with_krb5" != "yes" -a "$with_krb5" != "no"; then ac_cv_krb5_where_lib=$with_krb5/$CMU_LIB_SUBDIR ac_cv_krb5_where_inc=$with_krb5/include ac_cv_krb5_impl=mit fi fi if test "$with_krb5" != "no"; then if test "X$with_krb5_lib" != "X"; then ac_cv_krb5_where_lib=$with_krb5_lib ac_cv_krb5_impl=mit fi if test "X$with_krb5_impl" != "X"; then ac_cv_krb5_impl=$with_krb5_impl fi if test "X$ac_cv_krb5_where_lib" = "X" -a "X$with_krb5_impl" != "Xheimdal"; then CMU_KRB5_LIB_WHERE(/usr/athena/$CMU_LIB_SUBDIR /usr/$CMU_LIB_SUBDIR /usr/local/$CMU_LIB_SUBDIR) if test "X$ac_cv_krb5_where_lib" != "X"; then ac_cv_krb5_impl=mit fi fi if test "X$ac_cv_krb5_where_lib" = "X" -a "X$with_krb5_impl" != "Xmit"; then CMU_LIBHEIMDAL_LIB_WHERE(/usr/athena/$CMU_LIB_SUBDIR /usr/$CMU_LIB_SUBDIR /usr/heimdal/$CMU_LIB_SUBDIR /usr/local/$CMU_LIB_SUBDIR) if test "X$ac_cv_libheimdal_where_lib" != "X"; then ac_cv_krb5_where_lib=$ac_cv_libheimdal_where_lib ac_cv_krb5_impl=heimdal fi fi if test "X$with_krb5_include" != "X"; then ac_cv_krb5_where_inc=$with_krb5_include fi if test "X$ac_cv_krb5_where_inc" = "X"; then CMU_KRB5_INC_WHERE(/usr/athena/include /usr/include/kerberos /usr/local/include /usr/include) fi fi AC_MSG_CHECKING(whether to include kerberos 5) if test "X$ac_cv_krb5_where_lib" = "X" -o "X$ac_cv_krb5_where_inc" = "X"; then ac_cv_found_krb5=no AC_MSG_RESULT(no) else ac_cv_found_krb5=yes AC_MSG_RESULT(yes) KRB5_INC_DIR=$ac_cv_krb5_where_inc KRB5_LIB_DIR=$ac_cv_krb5_where_lib if test "X$ac_cv_krb5_impl" != "Xheimdal"; then KRB5_LIB_FLAGS="-L${KRB5_LIB_DIR} -lkrb5 -lk5crypto" else CMU_LIBHEIMDAL_LIBDES($KRB5_LIB_DIR) KRB5_LIB_FLAGS="-L${KRB5_LIB_DIR} -lkadm5clnt -lkrb5 -lasn1 ${HEIM_LIBDES} -lroken $LIB_SOCKET" AC_DEFINE(HEIMDAL,,[we found heimdal krb5 and not MIT krb5]) fi KRB5_INC_FLAGS="-I${KRB5_INC_DIR}" AC_SUBST(KRB5_INC_FLAGS) AC_SUBST(KRB5_LIB_FLAGS) AC_DEFINE(HAVE_KRB5,,[Kerberos V5 is present])dnl zephyr uses this AC_DEFINE(KRB5,,[Use Kerberos 5. (maybe find what needs this and nuke it)]) if test "X$RPATH" = "X"; then RPATH="" fi case "${host}" in *-*-linux*) if test "X$RPATH" = "X"; then RPATH="-Wl,-rpath,${KRB5_LIB_DIR}" else RPATH="${RPATH}:${KRB5_LIB_DIR}" fi ;; *-*-hpux*) if test "X$RPATH" = "X"; then RPATH="-Wl,+b${KRB5_LIB_DIR}" else RPATH="${RPATH}:${KRB5_LIB_DIR}" fi ;; *-*-irix*) if test "X$RPATH" = "X"; then RPATH="-Wl,-rpath,${KRB5_LIB_DIR}" else RPATH="${RPATH}:${KRB5_LIB_DIR}" fi ;; *-*-solaris2*) if test "$ac_cv_prog_gcc" = yes; then if test "X$RPATH" = "X"; then RPATH="-Wl,-R${KRB5_LIB_DIR}" else RPATH="${RPATH}:${KRB5_LIB_DIR}" fi else RPATH="${RPATH} -R${KRB5_LIB_DIR}" fi ;; esac AC_SUBST(RPATH) fi ])