]> 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
6dnl Copyright 2006-2007 by Easy Software Products.
7dnl
8dnl This file contains Kerberos support code, copyright 2006 by
9dnl Jelmer Vernooij.
10dnl
11dnl These coded instructions, statements, and computer programs are the
12dnl property of Easy Software Products and are protected by Federal
13dnl copyright law. Distribution and use rights are outlined in the file
14dnl "LICENSE.txt" which should have been included with this file. If this
15dnl file is missing or damaged please contact Easy Software Products
16dnl at:
17dnl
18dnl Attn: CUPS Licensing Information
19dnl Easy Software Products
20dnl 44141 Airport View Drive, Suite 204
21dnl Hollywood, Maryland 20636 USA
22dnl
23dnl Voice: (301) 373-9600
24dnl EMail: cups-info@cups.org
25dnl WWW: http://www.cups.org
26dnl
27
28AC_ARG_ENABLE(gssapi, [ --enable-gssapi turn on GSSAPI support, default=yes])
29
30LIBGSSAPI=""
31
32if test x$enable_gssapi != xno; then
33 AC_PATH_PROG(KRB5CONFIG, krb5-config)
34 if test "x$KRB5CONFIG" != x; then
f42414bf 35 if test "x$uname" = "xDarwin"; then
36 # Mac OS X weak-links to the Kerberos framework...
37 LIBGSSAPI="-weak_framework Kerberos"
38 else
39 CFLAGS="`$KRB5CONFIG --cflags gssapi` $CFLAGS"
40 CPPFLAGS="`$KRB5CONFIG --cflags gssapi` $CPPFLAGS"
41 LIBGSSAPI="`$KRB5CONFIG --libs gssapi`"
42 fi
f7deaa1a 43 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
44 else
45 # Solaris provides its own GSSAPI implementation...
46 AC_CHECK_LIB(gss, gss_display_status,
47 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
48 LIBGSSAPI="-lgss")
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))
63
64 AC_MSG_CHECKING(for GSS_C_NT_HOSTBASED_SERVICE)
65 if test $ac_cv_header_gssapi_gssapi_h = yes; then
66 AC_TRY_COMPILE([ #include <gssapi/gssapi.h> ],
67 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
68 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
69 AC_MSG_RESULT(yes),
70 AC_MSG_RESULT(no))
71 else
72 AC_TRY_COMPILE([ #include <gssapi.h> ],
73 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
74 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
75 AC_MSG_RESULT(yes),
76 AC_MSG_RESULT(no))
77 fi
78
79 LIBS="$SAVELIBS"
80
81 AC_MSG_CHECKING(for Heimdal Kerberos)
82 AC_TRY_COMPILE([ #include <krb5.h> ],
83 [ char *tmp = heimdal_version; ],
84 AC_DEFINE(HAVE_HEIMDAL)
85 AC_MSG_RESULT(yes),
86 AC_MSG_RESULT(no))
87 fi
88fi
89
90dnl Default GSS service name...
91AC_ARG_WITH(gssservicename, [ --with-gssservicename set default gss service name],
92 default_gssservicename="$withval",
93 default_gssservicename="default")
94
95if test x$default_gssservicename != xno; then
96 if test "x$default_gssservicename" = "xdefault"; then
97 CUPS_DEFAULT_GSSSERVICENAME="IPP"
98 else
99 CUPS_DEFAULT_GSSSERVICENAME="$default_gssservicename"
100 fi
101else
102 CUPS_DEFAULT_GSSSERVICENAME=""
103fi
104
105AC_SUBST(LIBGSSAPI)
106AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
107
108dnl
109dnl End of "$Id$".
110dnl