]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-gssapi.m4
Import CUPS v1.7.2
[thirdparty/cups.git] / config-scripts / cups-gssapi.m4
CommitLineData
f7deaa1a 1dnl
71f63681 2dnl "$Id: cups-gssapi.m4 11324 2013-10-04 03:11:42Z msweet $"
f7deaa1a 3dnl
321d8d57 4dnl GSSAPI/Kerberos library detection for CUPS.
f7deaa1a 5dnl
71f63681 6dnl Copyright 2007-2013 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
bf3816c7 19AC_ARG_ENABLE(gssapi, [ --disable-gssapi disable GSSAPI support])
f7deaa1a 20
21LIBGSSAPI=""
e07d4801 22AC_SUBST(LIBGSSAPI)
f7deaa1a 23
24if test x$enable_gssapi != xno; then
25 AC_PATH_PROG(KRB5CONFIG, krb5-config)
26 if test "x$KRB5CONFIG" != x; then
0a682745
MS
27 case "$uname" in
28 Darwin)
f3c17241 29 # OS X weak-links to the Kerberos framework...
0a682745 30 LIBGSSAPI="-weak_framework Kerberos"
eac3a0a0
MS
31 AC_MSG_CHECKING(for GSS framework)
32 if test -d /System/Library/Frameworks/GSS.framework; then
33 AC_MSG_RESULT(yes)
34 LIBGSSAPI="$LIBGSSAPI -weak_framework GSS"
35 else
36 AC_MSG_RESULT(no)
37 fi
0a682745
MS
38 ;;
39 SunOS*)
40 # Solaris has a non-standard krb5-config, don't use it!
41 AC_CHECK_LIB(gss, gss_display_status,
42 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
eac3a0a0
MS
43 CFLAGS="`$KRB5CONFIG --cflags` $CFLAGS"
44 CPPFLAGS="`$KRB5CONFIG --cflags` $CPPFLAGS"
0a682745
MS
45 LIBGSSAPI="-lgss `$KRB5CONFIG --libs`")
46 ;;
47 *)
48 # Other platforms just ask for GSSAPI
eac3a0a0
MS
49 CFLAGS="`$KRB5CONFIG --cflags gssapi` $CFLAGS"
50 CPPFLAGS="`$KRB5CONFIG --cflags gssapi` $CPPFLAGS"
0a682745
MS
51 LIBGSSAPI="`$KRB5CONFIG --libs gssapi`"
52 ;;
53 esac
f7deaa1a 54 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
55 else
09a101d6 56 # Check for vendor-specific implementations...
57 case "$uname" in
58 HP-UX*)
59 AC_CHECK_LIB(gss, gss_display_status,
60 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
61 LIBGSSAPI="-lgss -lgssapi_krb5")
62 ;;
63 SunOS*)
64 AC_CHECK_LIB(gss, gss_display_status,
65 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
66 LIBGSSAPI="-lgss")
67 ;;
68 esac
f7deaa1a 69 fi
70
71 if test "x$LIBGSSAPI" != x; then
72 AC_CHECK_HEADER(krb5.h, AC_DEFINE(HAVE_KRB5_H))
eac3a0a0 73 if test -d /System/Library/Frameworks/GSS.framework; then
71f63681
MS
74 AC_CHECK_HEADER(GSS/gssapi.h, AC_DEFINE(HAVE_GSS_GSSAPI_H))
75 AC_CHECK_HEADER(GSS/gssapi_generic.h, AC_DEFINE(HAVE_GSS_GSSAPI_GENERIC_H))
76 AC_CHECK_HEADER(GSS/gssapi_spi.h, AC_DEFINE(HAVE_GSS_GSSAPI_SPI_H))
eac3a0a0
MS
77 else
78 AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H))
79 AC_CHECK_HEADER(gssapi/gssapi.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_H))
eac3a0a0 80 fi
f7deaa1a 81
82 SAVELIBS="$LIBS"
83 LIBS="$LIBS $LIBGSSAPI"
84
eac3a0a0
MS
85 AC_CHECK_FUNC(__ApplePrivate_gss_acquire_cred_ex_f,
86 AC_DEFINE(HAVE_GSS_ACQUIRE_CRED_EX_F))
f7deaa1a 87
88 AC_MSG_CHECKING(for GSS_C_NT_HOSTBASED_SERVICE)
eac3a0a0 89 if test x$ac_cv_header_gssapi_gssapi_h = xyes; then
f7deaa1a 90 AC_TRY_COMPILE([ #include <gssapi/gssapi.h> ],
91 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
92 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
93 AC_MSG_RESULT(yes),
94 AC_MSG_RESULT(no))
eac3a0a0
MS
95 elif test x$ac_cv_header_gss_gssapi_h = xyes; then
96 AC_TRY_COMPILE([ #include <GSS/gssapi.h> ],
97 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
98 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
99 AC_MSG_RESULT(yes),
100 AC_MSG_RESULT(no))
f7deaa1a 101 else
102 AC_TRY_COMPILE([ #include <gssapi.h> ],
103 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
104 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
105 AC_MSG_RESULT(yes),
106 AC_MSG_RESULT(no))
107 fi
108
109 LIBS="$SAVELIBS"
f7deaa1a 110 fi
111fi
112
113dnl Default GSS service name...
114AC_ARG_WITH(gssservicename, [ --with-gssservicename set default gss service name],
115 default_gssservicename="$withval",
116 default_gssservicename="default")
117
118if test x$default_gssservicename != xno; then
119 if test "x$default_gssservicename" = "xdefault"; then
68b10830 120 CUPS_DEFAULT_GSSSERVICENAME="host"
f7deaa1a 121 else
122 CUPS_DEFAULT_GSSSERVICENAME="$default_gssservicename"
123 fi
124else
125 CUPS_DEFAULT_GSSSERVICENAME=""
126fi
127
dcb445bc 128AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
f7deaa1a 129AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
130
131dnl
71f63681 132dnl End of "$Id: cups-gssapi.m4 11324 2013-10-04 03:11:42Z msweet $".
f7deaa1a 133dnl