]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-ssl.m4.orig
Merge changes from CUPS 1.6svn-r10390.
[thirdparty/cups.git] / config-scripts / cups-ssl.m4.orig
CommitLineData
82cc1f9a
MS
1dnl
2dnl "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $"
3dnl
4dnl OpenSSL/GNUTLS stuff for CUPS.
5dnl
6dnl Copyright 2007-2011 by Apple Inc.
7dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
8dnl
9dnl These coded instructions, statements, and computer programs are the
10dnl property of Apple Inc. and are protected by Federal copyright
11dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
12dnl which should have been included with this file. If this file is
13dnl file is missing or damaged, see the license at "http://www.cups.org/".
14dnl
15
16AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
17AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
18AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
19AC_ARG_ENABLE(openssl, [ --enable-openssl use OpenSSL for SSL/TLS support, default=third])
20AC_ARG_WITH(openssl-libs, [ --with-openssl-libs set directory for OpenSSL library],
21 LDFLAGS="-L$withval $LDFLAGS"
22 DSOFLAGS="-L$withval $DSOFLAGS",)
23AC_ARG_WITH(openssl-includes, [ --with-openssl-includes set directory for OpenSSL includes],
24 CFLAGS="-I$withval $CFLAGS"
25 CPPFLAGS="-I$withval $CPPFLAGS",)
26
27SSLFLAGS=""
28SSLLIBS=""
29have_ssl=0
30
31if test x$enable_ssl != xno; then
32 dnl Look for CDSA...
33 if test $have_ssl = 0 -a "x$enable_cdsassl" != "xno"; then
34 if test $uname = Darwin; then
35 AC_CHECK_HEADER(Security/SecureTransport.h, [
36 have_ssl=1
37 AC_DEFINE(HAVE_SSL)
38 AC_DEFINE(HAVE_CDSASSL)
39
40 dnl Check for the various security headers...
41 AC_CHECK_HEADER(Security/SecureTransportPriv.h,
42 AC_DEFINE(HAVE_SECURETRANSPORTPRIV_H))
43 AC_CHECK_HEADER(Security/SecCertificate.h,
44 AC_DEFINE(HAVE_SECCERTIFICATE_H))
45 AC_CHECK_HEADER(Security/SecItem.h,
46 AC_DEFINE(HAVE_SECITEM_H))
47 AC_CHECK_HEADER(Security/SecItemPriv.h,
48 AC_DEFINE(HAVE_SECITEMPRIV_H),,
49 [#include <Security/SecItem.h>])
50 AC_CHECK_HEADER(Security/SecPolicy.h,
51 AC_DEFINE(HAVE_SECPOLICY_H))
52 AC_CHECK_HEADER(Security/SecPolicyPriv.h,
53 AC_DEFINE(HAVE_SECPOLICYPRIV_H))
54 AC_CHECK_HEADER(Security/SecBasePriv.h,
55 AC_DEFINE(HAVE_SECBASEPRIV_H))
56 AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h,
57 AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))
58
59 dnl Check for SSLSetProtocolVersionMax...
60 SAVELIBS="$LIBS"
61 LIBS="$LIBS -framework Security"
62 AC_CHECK_FUNC(SSLSetProtocolVersionMax)
63 LIBS="$SAVELIBS"
64
65 dnl Check for SecCertificateCopyData..
66 AC_MSG_CHECKING(for SecCertificateCopyData)
67 if test $uversion -ge 100; then
68 AC_DEFINE(HAVE_SECCERTIFICATECOPYDATA)
69 AC_MSG_RESULT(yes)
70 else
71 AC_MSG_RESULT(no)
72 fi
73
74 dnl Check for SecIdentitySearchCreateWithPolicy...
75 AC_MSG_CHECKING(for SecIdentitySearchCreateWithPolicy)
76 if test $uversion -ge 80; then
77 AC_DEFINE(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
78 AC_MSG_RESULT(yes)
79 else
80 AC_MSG_RESULT(no)
81 fi
82
83 dnl Check for SecPolicyCreateSSL...
84 AC_MSG_CHECKING(for SecPolicyCreateSSL)
85 if test $uversion -ge 110; then
86 AC_DEFINE(HAVE_SECPOLICYCREATESSL)
87 AC_MSG_RESULT(yes)
88 else
89 AC_MSG_RESULT(no)
90 fi])
91
92 AC_DEFINE(HAVE_CSSMERRORSTRING)
93 fi
94 fi
95
96 dnl Then look for GNU TLS...
97 if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
98 AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
99 AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config)
100 if $PKGCONFIG --exists gnutls; then
101 have_ssl=1
102 SSLLIBS=`$PKGCONFIG --libs gnutls`
103 SSLFLAGS=`$PKGCONFIG --cflags gnutls`
104 AC_DEFINE(HAVE_SSL)
105 AC_DEFINE(HAVE_GNUTLS)
106 elif test "x$LIBGNUTLSCONFIG" != x; then
107 have_ssl=1
108 SSLLIBS=`$LIBGNUTLSCONFIG --libs`
109 SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
110 AC_DEFINE(HAVE_SSL)
111 AC_DEFINE(HAVE_GNUTLS)
112 fi
113
114 if test $have_ssl = 1; then
115 if $PKGCONFIG --exists gcrypt; then
116 SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
117 SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
118 elif test "x$LIBGCRYPTCONFIG" != x; then
119 SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`"
120 SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`"
121 fi
122 fi
123 fi
124
125 dnl Check for the OpenSSL library last...
126 if test $have_ssl = 0 -a "x$enable_openssl" != "xno"; then
127 AC_CHECK_HEADER(openssl/ssl.h,
128 dnl Save the current libraries so the crypto stuff isn't always
129 dnl included...
130 SAVELIBS="$LIBS"
131
132 dnl Some ELF systems can't resolve all the symbols in libcrypto
133 dnl if libcrypto was linked against RSAREF, and fail to link the
134 dnl test program correctly, even though a correct installation
135 dnl of OpenSSL exists. So we test the linking three times in
136 dnl case the RSAREF libraries are needed.
137
138 for libcrypto in \
139 "-lcrypto" \
140 "-lcrypto -lrsaref" \
141 "-lcrypto -lRSAglue -lrsaref"
142 do
143 AC_CHECK_LIB(ssl,SSL_new,
144 [have_ssl=1
145 SSLFLAGS="-DOPENSSL_DISABLE_OLD_DES_SUPPORT"
146 SSLLIBS="-lssl $libcrypto"
147 AC_DEFINE(HAVE_SSL)
148 AC_DEFINE(HAVE_LIBSSL)],,
149 $libcrypto)
150
151 if test "x${SSLLIBS}" != "x"; then
152 break
153 fi
154 done
155
156 LIBS="$SAVELIBS")
157 fi
158fi
159
160IPPALIASES="http"
161if test $have_ssl = 1; then
162 AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
163 AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
164 IPPALIASES="http https ipps"
165elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes -o x$enable_openssl = xyes; then
166 AC_MSG_ERROR([Unable to enable SSL support.])
167fi
168
169AC_SUBST(IPPALIASES)
170AC_SUBST(SSLFLAGS)
171AC_SUBST(SSLLIBS)
172
173EXPORT_SSLLIBS="$SSLLIBS"
174AC_SUBST(EXPORT_SSLLIBS)
175
176
177dnl
178dnl End of "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $".
179dnl