]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-ssl.m4
Merge changes from CUPS 1.5svn-r9105.
[thirdparty/cups.git] / config-scripts / cups-ssl.m4
1 dnl
2 dnl "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $"
3 dnl
4 dnl OpenSSL/GNUTLS stuff for CUPS.
5 dnl
6 dnl Copyright 2007-2010 by Apple Inc.
7 dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
8 dnl
9 dnl These coded instructions, statements, and computer programs are the
10 dnl property of Apple Inc. and are protected by Federal copyright
11 dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 dnl which should have been included with this file. If this file is
13 dnl file is missing or damaged, see the license at "http://www.cups.org/".
14 dnl
15
16 AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
17 AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
18 AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
19 AC_ARG_ENABLE(openssl, [ --enable-openssl use OpenSSL for SSL/TLS support, default=third])
20 AC_ARG_WITH(openssl-libs, [ --with-openssl-libs set directory for OpenSSL library],
21 LDFLAGS="-L$withval $LDFLAGS"
22 DSOFLAGS="-L$withval $DSOFLAGS",)
23 AC_ARG_WITH(openssl-includes, [ --with-openssl-includes set directory for OpenSSL includes],
24 CFLAGS="-I$withval $CFLAGS"
25 CPPFLAGS="-I$withval $CPPFLAGS",)
26
27 SSLFLAGS=""
28 SSLLIBS=""
29 have_ssl=0
30
31 if 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/SecPolicy.h,
42 AC_DEFINE(HAVE_SECPOLICY_H))
43 AC_CHECK_HEADER(Security/SecPolicyPriv.h,
44 AC_DEFINE(HAVE_SECPOLICYPRIV_H))
45 AC_CHECK_HEADER(Security/SecBasePriv.h,
46 AC_DEFINE(HAVE_SECBASEPRIV_H))
47 AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h,
48 AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))
49
50 dnl Check for SecIdentitySearchCreateWithPolicy...
51 AC_MSG_CHECKING(for SecIdentitySearchCreateWithPolicy)
52 if test $uversion -ge 80; then
53 AC_DEFINE(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
54 AC_MSG_RESULT(yes)
55 else
56 AC_MSG_RESULT(no)
57 fi])
58 fi
59 fi
60
61 dnl Then look for GNU TLS...
62 if test $have_ssl = 0 -a "x${enable_gnutls}" != "xno" -a "x$PKGCONFIG" != x; then
63 AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
64 AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config)
65 if $PKGCONFIG --exists gnutls; then
66 have_ssl=1
67 SSLLIBS=`$PKGCONFIG --libs gnutls`
68 SSLFLAGS=`$PKGCONFIG --cflags gnutls`
69 AC_DEFINE(HAVE_SSL)
70 AC_DEFINE(HAVE_GNUTLS)
71 elif "x$LIBGNUTLSCONFIG" != x; then
72 have_ssl=1
73 SSLLIBS=`$LIBGNUTLSCONFIG --libs`
74 SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
75 AC_DEFINE(HAVE_SSL)
76 AC_DEFINE(HAVE_GNUTLS)
77 fi
78
79 if test $have_ssl = 1; then
80 if $PKGCONFIG --exists gcrypt; then
81 SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
82 SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
83 elif "x$LIBGCRYPTCONFIG" != x; then
84 SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`"
85 SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`"
86 fi
87 fi
88 fi
89
90 dnl Check for the OpenSSL library last...
91 if test $have_ssl = 0 -a "x${enable_openssl}" != "xno"; then
92 AC_CHECK_HEADER(openssl/ssl.h,
93 dnl Save the current libraries so the crypto stuff isn't always
94 dnl included...
95 SAVELIBS="$LIBS"
96
97 dnl Some ELF systems can't resolve all the symbols in libcrypto
98 dnl if libcrypto was linked against RSAREF, and fail to link the
99 dnl test program correctly, even though a correct installation
100 dnl of OpenSSL exists. So we test the linking three times in
101 dnl case the RSAREF libraries are needed.
102
103 for libcrypto in \
104 "-lcrypto" \
105 "-lcrypto -lrsaref" \
106 "-lcrypto -lRSAglue -lrsaref"
107 do
108 AC_CHECK_LIB(ssl,SSL_new,
109 [have_ssl=1
110 SSLFLAGS="-DOPENSSL_DISABLE_OLD_DES_SUPPORT"
111 SSLLIBS="-lssl $libcrypto"
112 AC_DEFINE(HAVE_SSL)
113 AC_DEFINE(HAVE_LIBSSL)],,
114 $libcrypto)
115
116 if test "x${SSLLIBS}" != "x"; then
117 break
118 fi
119 done
120
121 LIBS="$SAVELIBS")
122 fi
123 fi
124
125 if test $have_ssl = 1; then
126 AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
127 AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
128 fi
129
130 AC_SUBST(SSLFLAGS)
131 AC_SUBST(SSLLIBS)
132
133 EXPORT_SSLLIBS="$SSLLIBS"
134 AC_SUBST(EXPORT_SSLLIBS)
135
136
137 dnl
138 dnl End of "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $".
139 dnl