]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-ssl.m4
Remove svn:keywords since they cause svn_load_dirs.pl to complain about every file.
[thirdparty/cups.git] / config-scripts / cups-ssl.m4
CommitLineData
ef416fc2 1dnl
c07d5b2d 2dnl "$Id: cups-ssl.m4 181 2006-06-22 20:01:18Z jlovell $"
ef416fc2 3dnl
4dnl OpenSSL/GNUTLS stuff for the Common UNIX Printing System (CUPS).
5dnl
89d46774 6dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
ef416fc2 7dnl
8dnl These coded instructions, statements, and computer programs are the
9dnl property of Easy Software Products and are protected by Federal
10dnl copyright law. Distribution and use rights are outlined in the file
11dnl "LICENSE.txt" which should have been included with this file. If this
12dnl file is missing or damaged please contact Easy Software Products
13dnl at:
14dnl
15dnl Attn: CUPS Licensing Information
16dnl Easy Software Products
17dnl 44141 Airport View Drive, Suite 204
18dnl Hollywood, Maryland 20636 USA
19dnl
20dnl Voice: (301) 373-9600
21dnl EMail: cups-info@cups.org
22dnl WWW: http://www.cups.org
23dnl
24
25AC_ARG_ENABLE(ssl, [ --enable-ssl turn on SSL/TLS support, default=yes])
26AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
27AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
28AC_ARG_ENABLE(openssl, [ --enable-openssl use OpenSSL for SSL/TLS support, default=third])
29AC_ARG_WITH(openssl-libs, [ --with-openssl-libs set directory for OpenSSL library],
30 LDFLAGS="-L$withval $LDFLAGS"
31 DSOFLAGS="-L$withval $DSOFLAGS",)
32AC_ARG_WITH(openssl-includes, [ --with-openssl-includes set directory for OpenSSL includes],
33 CFLAGS="-I$withval $CFLAGS"
34 CXXFLAGS="-I$withval $CXXFLAGS"
35 CPPFLAGS="-I$withval $CPPFLAGS",)
36
37SSLFLAGS=""
38SSLLIBS=""
89d46774 39ENCRYPTION_REQUIRED=""
ef416fc2 40
41if test x$enable_ssl != xno; then
42 dnl Look for CDSA...
43 if test "x${SSLLIBS}" = "x" -a "x${enable_cdsassl}" != "xno"; then
44 if test $uname = Darwin; then
45 AC_CHECK_HEADER(Security/SecureTransport.h,
46 [SSLLIBS="-framework CoreFoundation -framework Security"
89d46774 47 # MacOS X doesn't (yet) come with pre-installed encryption
48 # certificates for CUPS, so don't enable encryption on
49 # /admin just yet...
50 #ENCRYPTION_REQUIRED=" Encryption Required"
ed486911 51 AC_CHECK_HEADER(Security/SecBasePriv.h,AC_DEFINE(HAVE_SECBASEPRIV_H))
ef416fc2 52 AC_DEFINE(HAVE_SSL)
53 AC_DEFINE(HAVE_CDSASSL)])
54 fi
55 fi
56
57 dnl Then look for GNU TLS...
58 if test "x${SSLLIBS}" = "x" -a "x${enable_gnutls}" != "xno"; then
f301802f 59 AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
60 if test "x$LIBGNUTLSCONFIG" != x; then
61 SSLLIBS=`$LIBGNUTLSCONFIG --libs`
62 SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
63 ENCRYPTION_REQUIRED=" Encryption Required"
64 AC_DEFINE(HAVE_SSL)
65 AC_DEFINE(HAVE_GNUTLS)
66 fi
ef416fc2 67 fi
68
69 dnl Check for the OpenSSL library last...
70 if test "x${SSLLIBS}" = "x" -a "x${enable_openssl}" != "xno"; then
71 AC_CHECK_HEADER(openssl/ssl.h,
72 dnl Save the current libraries so the crypto stuff isn't always
73 dnl included...
74 SAVELIBS="$LIBS"
75
76 dnl Some ELF systems can't resolve all the symbols in libcrypto
77 dnl if libcrypto was linked against RSAREF, and fail to link the
78 dnl test program correctly, even though a correct installation
79 dnl of OpenSSL exists. So we test the linking three times in
80 dnl case the RSAREF libraries are needed.
81
82 for libcrypto in \
83 "-lcrypto" \
84 "-lcrypto -lrsaref" \
85 "-lcrypto -lRSAglue -lrsaref"
86 do
87 AC_CHECK_LIB(ssl,SSL_new,
88 [SSLFLAGS="-DOPENSSL_DISABLE_OLD_DES_SUPPORT"
89 SSLLIBS="-lssl $libcrypto"
89d46774 90 ENCRYPTION_REQUIRED=" Encryption Required"
ef416fc2 91 AC_DEFINE(HAVE_SSL)
92 AC_DEFINE(HAVE_LIBSSL)],,
93 $libcrypto)
94
95 if test "x${SSLLIBS}" != "x"; then
96 break
97 fi
98 done
99
100 LIBS="$SAVELIBS")
101 fi
102fi
103
f301802f 104if test "x$SSLLIBS" != x; then
105 AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
106 AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
107fi
108
ef416fc2 109AC_SUBST(SSLFLAGS)
110AC_SUBST(SSLLIBS)
89d46774 111AC_SUBST(ENCRYPTION_REQUIRED)
ef416fc2 112
113EXPORT_SSLLIBS="$SSLLIBS"
114AC_SUBST(EXPORT_SSLLIBS)
115
116
117dnl
c07d5b2d 118dnl End of "$Id: cups-ssl.m4 181 2006-06-22 20:01:18Z jlovell $".
ef416fc2 119dnl