]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-ssl.m4
Fix some build issues with the "core" component selection (rdar://47394086)
[thirdparty/cups.git] / config-scripts / cups-ssl.m4
CommitLineData
ef416fc2 1dnl
724e1819 2dnl TLS stuff for CUPS.
ef416fc2 3dnl
105922ec 4dnl Copyright 2007-2017 by Apple Inc.
724e1819 5dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
ef416fc2 6dnl
e3101897 7dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
ef416fc2 8dnl
9
bf3816c7 10AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
ef416fc2 11AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
12AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
ef416fc2 13
14SSLFLAGS=""
15SSLLIBS=""
f8b3a85b 16have_ssl=0
56138cae 17CUPS_SERVERKEYCHAIN=""
ef416fc2 18
19if test x$enable_ssl != xno; then
20 dnl Look for CDSA...
0268488e 21 if test $have_ssl = 0 -a "x$enable_cdsassl" != "xno"; then
105922ec 22 if test $host_os_name = darwin; then
b86bc4cf 23 AC_CHECK_HEADER(Security/SecureTransport.h, [
f8b3a85b 24 have_ssl=1
b86bc4cf 25 AC_DEFINE(HAVE_SSL)
26 AC_DEFINE(HAVE_CDSASSL)
56138cae 27 CUPS_SERVERKEYCHAIN="/Library/Keychains/System.keychain"
b86bc4cf 28
29 dnl Check for the various security headers...
eac3a0a0
MS
30 AC_CHECK_HEADER(Security/SecureTransportPriv.h,
31 AC_DEFINE(HAVE_SECURETRANSPORTPRIV_H))
7cf5915e
MS
32 AC_CHECK_HEADER(Security/SecCertificate.h,
33 AC_DEFINE(HAVE_SECCERTIFICATE_H))
0268488e
MS
34 AC_CHECK_HEADER(Security/SecItem.h,
35 AC_DEFINE(HAVE_SECITEM_H))
c7017ecc 36 AC_CHECK_HEADER(Security/SecItemPriv.h,
eac3a0a0
MS
37 AC_DEFINE(HAVE_SECITEMPRIV_H),,
38 [#include <Security/SecItem.h>])
b86bc4cf 39 AC_CHECK_HEADER(Security/SecPolicy.h,
40 AC_DEFINE(HAVE_SECPOLICY_H))
41 AC_CHECK_HEADER(Security/SecPolicyPriv.h,
42 AC_DEFINE(HAVE_SECPOLICYPRIV_H))
43 AC_CHECK_HEADER(Security/SecBasePriv.h,
44 AC_DEFINE(HAVE_SECBASEPRIV_H))
45 AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h,
ffbf1e61 46 AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))])
ef416fc2 47 fi
48 fi
49
50 dnl Then look for GNU TLS...
0268488e 51 if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
cffefbac 52 AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
f11a948a 53 if $PKGCONFIG --exists gnutls; then
eac3a0a0
MS
54 have_ssl=1
55 SSLLIBS=`$PKGCONFIG --libs gnutls`
56 SSLFLAGS=`$PKGCONFIG --cflags gnutls`
57 AC_DEFINE(HAVE_SSL)
58 AC_DEFINE(HAVE_GNUTLS)
c7017ecc 59 elif test "x$LIBGNUTLSCONFIG" != x; then
eac3a0a0
MS
60 have_ssl=1
61 SSLLIBS=`$LIBGNUTLSCONFIG --libs`
62 SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
63 AC_DEFINE(HAVE_SSL)
64 AC_DEFINE(HAVE_GNUTLS)
6d2f911b
MS
65 fi
66
67 if test $have_ssl = 1; then
56138cae 68 CUPS_SERVERKEYCHAIN="ssl"
9483577f
MS
69
70 SAVELIBS="$LIBS"
71 LIBS="$LIBS $SSLLIBS"
72 AC_CHECK_FUNC(gnutls_transport_set_pull_timeout_function, AC_DEFINE(HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION))
19ba6878 73 AC_CHECK_FUNC(gnutls_priority_set_direct, AC_DEFINE(HAVE_GNUTLS_PRIORITY_SET_DIRECT))
9483577f 74 LIBS="$SAVELIBS"
f301802f 75 fi
ef416fc2 76 fi
ef416fc2 77fi
78
eac3a0a0 79IPPALIASES="http"
f8b3a85b 80if test $have_ssl = 1; then
f301802f 81 AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
82 AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
eac3a0a0 83 IPPALIASES="http https ipps"
724e1819 84elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes; then
0268488e 85 AC_MSG_ERROR([Unable to enable SSL support.])
f301802f 86fi
87
56138cae 88AC_SUBST(CUPS_SERVERKEYCHAIN)
eac3a0a0 89AC_SUBST(IPPALIASES)
ef416fc2 90AC_SUBST(SSLFLAGS)
91AC_SUBST(SSLLIBS)
92
93EXPORT_SSLLIBS="$SSLLIBS"
94AC_SUBST(EXPORT_SSLLIBS)