]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-gssapi.m4
Load cups into easysw/current.
[thirdparty/cups.git] / config-scripts / cups-gssapi.m4
CommitLineData
f7deaa1a 1dnl
2dnl "$Id$"
3dnl
4dnl GSSAPI/Kerberos library detection.
5dnl
bc44d920 6dnl Copyright 2007 by Apple Inc.
f7deaa1a 7dnl Copyright 2006-2007 by Easy Software Products.
8dnl
9dnl This file contains Kerberos support code, copyright 2006 by
10dnl Jelmer Vernooij.
11dnl
12dnl These coded instructions, statements, and computer programs are the
bc44d920 13dnl property of Apple Inc. and are protected by Federal copyright
14dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
15dnl which should have been included with this file. If this file is
16dnl file is missing or damaged, see the license at "http://www.cups.org/".
f7deaa1a 17dnl
18
19AC_ARG_ENABLE(gssapi, [ --enable-gssapi turn on GSSAPI support, default=yes])
20
21LIBGSSAPI=""
22
23if test x$enable_gssapi != xno; then
24 AC_PATH_PROG(KRB5CONFIG, krb5-config)
25 if test "x$KRB5CONFIG" != x; then
f42414bf 26 if test "x$uname" = "xDarwin"; then
27 # Mac OS X weak-links to the Kerberos framework...
28 LIBGSSAPI="-weak_framework Kerberos"
29 else
30 CFLAGS="`$KRB5CONFIG --cflags gssapi` $CFLAGS"
31 CPPFLAGS="`$KRB5CONFIG --cflags gssapi` $CPPFLAGS"
32 LIBGSSAPI="`$KRB5CONFIG --libs gssapi`"
33 fi
f7deaa1a 34 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
35 else
09a101d6 36 # Check for vendor-specific implementations...
37 case "$uname" in
38 HP-UX*)
39 AC_CHECK_LIB(gss, gss_display_status,
40 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
41 LIBGSSAPI="-lgss -lgssapi_krb5")
42 ;;
43 SunOS*)
44 AC_CHECK_LIB(gss, gss_display_status,
45 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
46 LIBGSSAPI="-lgss")
47 ;;
48 esac
f7deaa1a 49 fi
50
51 if test "x$LIBGSSAPI" != x; then
52 AC_CHECK_HEADER(krb5.h, AC_DEFINE(HAVE_KRB5_H))
53 AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H))
54 AC_CHECK_HEADER(gssapi/gssapi.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_H))
55 AC_CHECK_HEADER(gssapi/gssapi_generic.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_GENERIC_H))
56 AC_CHECK_HEADER(gssapi/gssapi_krb5.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_KRB5_H))
57
58 SAVELIBS="$LIBS"
59 LIBS="$LIBS $LIBGSSAPI"
60
61 AC_CHECK_FUNC(gsskrb5_register_acceptor_identity,
62 AC_DEFINE(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY))
bc44d920 63 AC_CHECK_FUNC(krb5_cc_resolve, AC_DEFINE(HAVE_KRB5_CC_RESOLVE))
f7deaa1a 64
65 AC_MSG_CHECKING(for GSS_C_NT_HOSTBASED_SERVICE)
66 if test $ac_cv_header_gssapi_gssapi_h = yes; then
67 AC_TRY_COMPILE([ #include <gssapi/gssapi.h> ],
68 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
69 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
70 AC_MSG_RESULT(yes),
71 AC_MSG_RESULT(no))
72 else
73 AC_TRY_COMPILE([ #include <gssapi.h> ],
74 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
75 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
76 AC_MSG_RESULT(yes),
77 AC_MSG_RESULT(no))
78 fi
79
80 LIBS="$SAVELIBS"
81
82 AC_MSG_CHECKING(for Heimdal Kerberos)
83 AC_TRY_COMPILE([ #include <krb5.h> ],
84 [ char *tmp = heimdal_version; ],
85 AC_DEFINE(HAVE_HEIMDAL)
86 AC_MSG_RESULT(yes),
87 AC_MSG_RESULT(no))
88 fi
89fi
90
91dnl Default GSS service name...
92AC_ARG_WITH(gssservicename, [ --with-gssservicename set default gss service name],
93 default_gssservicename="$withval",
94 default_gssservicename="default")
95
96if test x$default_gssservicename != xno; then
97 if test "x$default_gssservicename" = "xdefault"; then
bc44d920 98 CUPS_DEFAULT_GSSSERVICENAME="ipp"
f7deaa1a 99 else
100 CUPS_DEFAULT_GSSSERVICENAME="$default_gssservicename"
101 fi
102else
103 CUPS_DEFAULT_GSSSERVICENAME=""
104fi
105
106AC_SUBST(LIBGSSAPI)
107AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
108
109dnl
110dnl End of "$Id$".
111dnl