root/m4/gssapi.m4

Revision 3545:31c0da584780, 2.6 kB (checked in by Patrick Welche <prlw1@…>, 5 years ago)

A while ago I posted a similar patch which is necessary as when mutt
tries to connect to an imap server over ipv6 it stores the address
in a sockaddr which may not be large enough to hold the ipv6 address.

Line 
1# gssapi.m4: Find GSSAPI libraries in either Heimdal or MIT implementations
2# Brendan Cully <brendan@kublai.com> 20010529
3
4dnl MUTT_AM_PATH_GSSAPI(PREFIX)
5dnl Search for a GSSAPI implementation in the standard locations plus PREFIX,
6dnl if it is set and not "yes".
7dnl Defines GSSAPI_CFLAGS and GSSAPI_LIBS if found.
8dnl Defines GSSAPI_IMPL to "Heimdal", "MIT", or "OldMIT", or "none" if not found
9AC_DEFUN([MUTT_AM_PATH_GSSAPI],
10[
11  GSSAPI_PREFIX=[$]$1
12  GSSAPI_IMPL="none"
13  saved_CPPFLAGS="$CPPFLAGS"
14  saved_LDFLAGS="$LDFLAGS"
15  saved_LIBS="$LIBS"
16  dnl First try krb5-config
17  if test "$GSSAPI_PREFIX" != "yes"
18  then
19    krb5_path="$GSSAPI_PREFIX/bin"
20  else
21    krb5_path="$PATH"
22  fi
23  AC_PATH_PROG(KRB5CFGPATH, krb5-config, none, $krb5_path)
24  if test "$KRB5CFGPATH" != "none"
25  then
26    GSSAPI_CFLAGS="$CPPFLAGS `$KRB5CFGPATH --cflags gssapi`"
27    GSSAPI_LIBS="$MUTTLIBS `$KRB5CFGPATH --libs gssapi`"
28    case "`$KRB5CFGPATH --version`" in
29      "Kerberos 5 "*)   GSSAPI_IMPL="MIT";;
30      ?eimdal*)         GSSAPI_IMPL="Heimdal";;
31      *)                GSSAPI_IMPL="Unknown";;
32   esac
33  else
34    dnl No krb5-config, run the old code
35    if test "$GSSAPI_PREFIX" != "yes"
36    then
37      GSSAPI_CFLAGS="-I$GSSAPI_PREFIX/include"
38      GSSAPI_LDFLAGS="-L$GSSAPI_PREFIX/lib"
39      CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
40      LDFLAGS="$LDFLAGS $GSSAPI_LDFLAGS"
41    fi
42
43    dnl New MIT kerberos V support
44    AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context, [
45      GSSAPI_IMPL="MIT",
46      GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
47      ],, -lkrb5 -lk5crypto -lcom_err)
48
49    dnl Heimdal kerberos V support
50    if test "$GSSAPI_IMPL" = "none"
51    then
52      AC_CHECK_LIB(gssapi, gss_init_sec_context, [
53          GSSAPI_IMPL="Heimdal"
54          GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi -lkrb5 -ldes -lasn1 -lroken"
55          GSSAPI_LIBS="$GSSAPI_LIBS -lcrypt -lcom_err"
56          ],, -lkrb5 -ldes -lasn1 -lroken -lcrypt -lcom_err)
57    fi
58
59    dnl Old MIT Kerberos V
60    dnl Note: older krb5 distributions use -lcrypto instead of
61    dnl -lk5crypto, which collides with OpenSSL.  One way of dealing
62    dnl with that is to extract all objects from krb5's libcrypto
63    dnl and from openssl's libcrypto into the same directory, then
64    dnl to create a new libcrypto from these.
65    if test "$GSSAPI_IMPL" = "none"
66    then
67      AC_CHECK_LIB(gssapi_krb5, g_order_init, [
68        GSSAPI_IMPL="OldMIT",
69        GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi_krb5 -lkrb5 -lcrypto -lcom_err"
70        ],, -lkrb5 -lcrypto -lcom_err)
71    fi
72  fi
73
74  CPPFLAGS="$saved_CPPFLAGS"
75  LDFLAGS="$saved_LDFLAGS"
76  LIBS="$saved_LIBS"
77])
Note: See TracBrowser for help on using the browser.