]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-gssapi.m4
Update all references to OS X to macOS.
[thirdparty/cups.git] / config-scripts / cups-gssapi.m4
CommitLineData
f7deaa1a 1dnl
503b54c9 2dnl GSSAPI/Kerberos library detection for CUPS.
f7deaa1a 3dnl
503b54c9
MS
4dnl Copyright 2007-2013 by Apple Inc.
5dnl Copyright 2006-2007 by Easy Software Products.
f7deaa1a 6dnl
503b54c9
MS
7dnl This file contains Kerberos support code, copyright 2006 by
8dnl Jelmer Vernooij.
f7deaa1a 9dnl
503b54c9
MS
10dnl These coded instructions, statements, and computer programs are the
11dnl property of Apple Inc. and are protected by Federal copyright
12dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
13dnl which should have been included with this file. If this file is
14dnl file is missing or damaged, see the license at "http://www.cups.org/".
f7deaa1a 15dnl
16
bf3816c7 17AC_ARG_ENABLE(gssapi, [ --disable-gssapi disable GSSAPI support])
f7deaa1a 18
19LIBGSSAPI=""
e07d4801 20AC_SUBST(LIBGSSAPI)
f7deaa1a 21
22if test x$enable_gssapi != xno; then
cffefbac 23 AC_PATH_TOOL(KRB5CONFIG, krb5-config)
f7deaa1a 24 if test "x$KRB5CONFIG" != x; then
0a682745
MS
25 case "$uname" in
26 Darwin)
8072030b 27 # macOS weak-links to the Kerberos framework...
0a682745 28 LIBGSSAPI="-weak_framework Kerberos"
eac3a0a0
MS
29 AC_MSG_CHECKING(for GSS framework)
30 if test -d /System/Library/Frameworks/GSS.framework; then
31 AC_MSG_RESULT(yes)
32 LIBGSSAPI="$LIBGSSAPI -weak_framework GSS"
33 else
34 AC_MSG_RESULT(no)
35 fi
0a682745
MS
36 ;;
37 SunOS*)
38 # Solaris has a non-standard krb5-config, don't use it!
39 AC_CHECK_LIB(gss, gss_display_status,
40 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
eac3a0a0
MS
41 CFLAGS="`$KRB5CONFIG --cflags` $CFLAGS"
42 CPPFLAGS="`$KRB5CONFIG --cflags` $CPPFLAGS"
0a682745
MS
43 LIBGSSAPI="-lgss `$KRB5CONFIG --libs`")
44 ;;
45 *)
46 # Other platforms just ask for GSSAPI
eac3a0a0
MS
47 CFLAGS="`$KRB5CONFIG --cflags gssapi` $CFLAGS"
48 CPPFLAGS="`$KRB5CONFIG --cflags gssapi` $CPPFLAGS"
0a682745
MS
49 LIBGSSAPI="`$KRB5CONFIG --libs gssapi`"
50 ;;
51 esac
f7deaa1a 52 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
53 else
09a101d6 54 # Check for vendor-specific implementations...
55 case "$uname" in
56 HP-UX*)
57 AC_CHECK_LIB(gss, gss_display_status,
58 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
59 LIBGSSAPI="-lgss -lgssapi_krb5")
60 ;;
61 SunOS*)
62 AC_CHECK_LIB(gss, gss_display_status,
63 AC_DEFINE(HAVE_GSSAPI, 1, [Whether GSSAPI is available])
64 LIBGSSAPI="-lgss")
65 ;;
66 esac
f7deaa1a 67 fi
68
69 if test "x$LIBGSSAPI" != x; then
70 AC_CHECK_HEADER(krb5.h, AC_DEFINE(HAVE_KRB5_H))
eac3a0a0 71 if test -d /System/Library/Frameworks/GSS.framework; then
5ec1fd3d
MS
72 AC_CHECK_HEADER(GSS/gssapi.h, AC_DEFINE(HAVE_GSS_GSSAPI_H))
73 AC_CHECK_HEADER(GSS/gssapi_generic.h, AC_DEFINE(HAVE_GSS_GSSAPI_GENERIC_H))
74 AC_CHECK_HEADER(GSS/gssapi_spi.h, AC_DEFINE(HAVE_GSS_GSSAPI_SPI_H))
eac3a0a0
MS
75 else
76 AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H))
77 AC_CHECK_HEADER(gssapi/gssapi.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_H))
eac3a0a0 78 fi
f7deaa1a 79
80 SAVELIBS="$LIBS"
81 LIBS="$LIBS $LIBGSSAPI"
82
eac3a0a0
MS
83 AC_CHECK_FUNC(__ApplePrivate_gss_acquire_cred_ex_f,
84 AC_DEFINE(HAVE_GSS_ACQUIRE_CRED_EX_F))
f7deaa1a 85
86 AC_MSG_CHECKING(for GSS_C_NT_HOSTBASED_SERVICE)
eac3a0a0 87 if test x$ac_cv_header_gssapi_gssapi_h = xyes; then
f7deaa1a 88 AC_TRY_COMPILE([ #include <gssapi/gssapi.h> ],
89 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
90 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
91 AC_MSG_RESULT(yes),
92 AC_MSG_RESULT(no))
eac3a0a0
MS
93 elif test x$ac_cv_header_gss_gssapi_h = xyes; then
94 AC_TRY_COMPILE([ #include <GSS/gssapi.h> ],
95 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
96 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
97 AC_MSG_RESULT(yes),
98 AC_MSG_RESULT(no))
f7deaa1a 99 else
100 AC_TRY_COMPILE([ #include <gssapi.h> ],
101 [ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE; ],
102 AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE)
103 AC_MSG_RESULT(yes),
104 AC_MSG_RESULT(no))
105 fi
106
107 LIBS="$SAVELIBS"
f7deaa1a 108 fi
109fi
110
111dnl Default GSS service name...
112AC_ARG_WITH(gssservicename, [ --with-gssservicename set default gss service name],
113 default_gssservicename="$withval",
114 default_gssservicename="default")
115
116if test x$default_gssservicename != xno; then
117 if test "x$default_gssservicename" = "xdefault"; then
68b10830 118 CUPS_DEFAULT_GSSSERVICENAME="host"
f7deaa1a 119 else
120 CUPS_DEFAULT_GSSSERVICENAME="$default_gssservicename"
121 fi
122else
123 CUPS_DEFAULT_GSSSERVICENAME=""
124fi
125
dcb445bc 126AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
f7deaa1a 127AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")