]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-ssl.m4
Fix source file header text duplication text duplication.
[thirdparty/cups.git] / config-scripts / cups-ssl.m4
CommitLineData
ef416fc2 1dnl
724e1819 2dnl TLS stuff for CUPS.
ef416fc2 3dnl
ee6226a5 4dnl Copyright 2007-2015 by Apple Inc.
724e1819 5dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
ef416fc2 6dnl
724e1819
MS
7dnl These coded instructions, statements, and computer programs are the
8dnl property of Apple Inc. and are protected by Federal copyright
9dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
10dnl which should have been included with this file. If this file is
57b7b66b 11dnl missing or damaged, see the license at "http://www.cups.org/".
ef416fc2 12dnl
13
bf3816c7 14AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
ef416fc2 15AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
16AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
ef416fc2 17
18SSLFLAGS=""
19SSLLIBS=""
f8b3a85b 20have_ssl=0
56138cae 21CUPS_SERVERKEYCHAIN=""
ef416fc2 22
23if test x$enable_ssl != xno; then
24 dnl Look for CDSA...
0268488e 25 if test $have_ssl = 0 -a "x$enable_cdsassl" != "xno"; then
ef416fc2 26 if test $uname = Darwin; then
b86bc4cf 27 AC_CHECK_HEADER(Security/SecureTransport.h, [
f8b3a85b 28 have_ssl=1
b86bc4cf 29 AC_DEFINE(HAVE_SSL)
30 AC_DEFINE(HAVE_CDSASSL)
56138cae 31 CUPS_SERVERKEYCHAIN="/Library/Keychains/System.keychain"
b86bc4cf 32
33 dnl Check for the various security headers...
eac3a0a0
MS
34 AC_CHECK_HEADER(Security/SecureTransportPriv.h,
35 AC_DEFINE(HAVE_SECURETRANSPORTPRIV_H))
7cf5915e
MS
36 AC_CHECK_HEADER(Security/SecCertificate.h,
37 AC_DEFINE(HAVE_SECCERTIFICATE_H))
0268488e
MS
38 AC_CHECK_HEADER(Security/SecItem.h,
39 AC_DEFINE(HAVE_SECITEM_H))
c7017ecc 40 AC_CHECK_HEADER(Security/SecItemPriv.h,
eac3a0a0
MS
41 AC_DEFINE(HAVE_SECITEMPRIV_H),,
42 [#include <Security/SecItem.h>])
b86bc4cf 43 AC_CHECK_HEADER(Security/SecPolicy.h,
44 AC_DEFINE(HAVE_SECPOLICY_H))
45 AC_CHECK_HEADER(Security/SecPolicyPriv.h,
46 AC_DEFINE(HAVE_SECPOLICYPRIV_H))
47 AC_CHECK_HEADER(Security/SecBasePriv.h,
48 AC_DEFINE(HAVE_SECBASEPRIV_H))
49 AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h,
50 AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))
51
eb66bc71
MS
52 AC_DEFINE(HAVE_CSSMERRORSTRING)
53 AC_DEFINE(HAVE_SECKEYCHAINOPEN)])
ee6226a5
MS
54
55 if test $uversion -ge 150; then
56 AC_DEFINE(HAVE_SSLSETENABLEDCIPHERS)
57 fi
ef416fc2 58 fi
59 fi
60
61 dnl Then look for GNU TLS...
0268488e 62 if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
cffefbac
MS
63 AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
64 AC_PATH_TOOL(LIBGCRYPTCONFIG,libgcrypt-config)
f11a948a 65 if $PKGCONFIG --exists gnutls; then
eac3a0a0
MS
66 have_ssl=1
67 SSLLIBS=`$PKGCONFIG --libs gnutls`
68 SSLFLAGS=`$PKGCONFIG --cflags gnutls`
69 AC_DEFINE(HAVE_SSL)
70 AC_DEFINE(HAVE_GNUTLS)
c7017ecc 71 elif test "x$LIBGNUTLSCONFIG" != x; then
eac3a0a0
MS
72 have_ssl=1
73 SSLLIBS=`$LIBGNUTLSCONFIG --libs`
74 SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
75 AC_DEFINE(HAVE_SSL)
76 AC_DEFINE(HAVE_GNUTLS)
6d2f911b
MS
77 fi
78
79 if test $have_ssl = 1; then
56138cae 80 CUPS_SERVERKEYCHAIN="ssl"
9483577f
MS
81
82 SAVELIBS="$LIBS"
83 LIBS="$LIBS $SSLLIBS"
84 AC_CHECK_FUNC(gnutls_transport_set_pull_timeout_function, AC_DEFINE(HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION))
19ba6878 85 AC_CHECK_FUNC(gnutls_priority_set_direct, AC_DEFINE(HAVE_GNUTLS_PRIORITY_SET_DIRECT))
9483577f 86 LIBS="$SAVELIBS"
f301802f 87 fi
ef416fc2 88 fi
ef416fc2 89fi
90
eac3a0a0 91IPPALIASES="http"
f8b3a85b 92if test $have_ssl = 1; then
f301802f 93 AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
94 AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
eac3a0a0 95 IPPALIASES="http https ipps"
724e1819 96elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes; then
0268488e 97 AC_MSG_ERROR([Unable to enable SSL support.])
f301802f 98fi
99
56138cae 100AC_SUBST(CUPS_SERVERKEYCHAIN)
eac3a0a0 101AC_SUBST(IPPALIASES)
ef416fc2 102AC_SUBST(SSLFLAGS)
103AC_SUBST(SSLLIBS)
104
105EXPORT_SSLLIBS="$SSLLIBS"
106AC_SUBST(EXPORT_SSLLIBS)