aboutsummaryrefslogtreecommitdiffstats
path: root/m4/evo_krb5_support.m4
diff options
context:
space:
mode:
authorH. Habighorst <h.habighorst@googlemail.com>2009-10-10 03:32:55 +0800
committerH. Habighorst <h.habighorst@googlemail.com>2009-10-10 03:32:55 +0800
commite30c8ff3852d4056b8ed63a00675524913f8e2c4 (patch)
treec6256ead766208b226bbd504745c625770952bbd /m4/evo_krb5_support.m4
parent1156a3b3e88375d4b20574e6602e9965c5600fbc (diff)
downloadgsoc2013-evolution-e30c8ff3852d4056b8ed63a00675524913f8e2c4.tar.gz
gsoc2013-evolution-e30c8ff3852d4056b8ed63a00675524913f8e2c4.tar.zst
gsoc2013-evolution-e30c8ff3852d4056b8ed63a00675524913f8e2c4.zip
Bug #597932 - Split out Kerberos 5 check into an macro
Diffstat (limited to 'm4/evo_krb5_support.m4')
-rw-r--r--m4/evo_krb5_support.m4104
1 files changed, 104 insertions, 0 deletions
diff --git a/m4/evo_krb5_support.m4 b/m4/evo_krb5_support.m4
new file mode 100644
index 0000000000..fd27581313
--- /dev/null
+++ b/m4/evo_krb5_support.m4
@@ -0,0 +1,104 @@
+#serial 0.1
+AC_DEFUN([EVO_KRB5_SUPPORT],[
+ dnl ******************************
+ dnl Kerberos
+ dnl ******************************
+ AC_ARG_WITH([krb5],
+ AS_HELP_STRING([--with-krb5=PATH],
+ [Location of Kerberos 5 install dir]),
+ [with_krb5="$withval"], [with_krb5="no"])
+
+ AC_ARG_WITH([krb5-libs],
+ AS_HELP_STRING([--with-krb5-libs=PATH],
+ [Location of Kerberos 5 libraries]),
+ [with_krb5_libs="$withval"], [with_krb5_libs="$with_krb5/lib"])
+
+ AC_ARG_WITH([krb5-includes],
+ AS_HELP_STRING([--with-krb5-includes=PATH],
+ [Location of Kerberos 5 headers]),
+ [with_krb5_includes="$withval"], [with_krb5_includes="$with_krb5/include"])
+
+ dnl ******************************
+ dnl Kerberos 5
+ dnl ******************************
+ msg_krb5="no"
+ AC_MSG_CHECKING([for Kerberos 5])
+ if test "x${with_krb5}" != "xno"; then
+ LIBS_save="$LIBS"
+
+ 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/comm_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 <comm_err.h>])],,
+ [[ #if HAVE_COM_ERR_H
+ #include <com_err.h>
+ #endif
+ ]])
+
+ AC_SUBST(KRB5_CFLAGS)
+ AC_SUBST(KRB5_LIBS)
+])