]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-ssl.m4
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / config-scripts / cups-ssl.m4
1 dnl
2 dnl TLS stuff for CUPS.
3 dnl
4 dnl Copyright 2007-2019 by Apple Inc.
5 dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
6 dnl
7 dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
8 dnl
9
10 AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
11 AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
12 AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
13
14 SSLFLAGS=""
15 SSLLIBS=""
16 have_ssl=0
17 CUPS_SERVERKEYCHAIN=""
18
19 if test x$enable_ssl != xno; then
20 dnl Look for CDSA...
21 if test $have_ssl = 0 -a "x$enable_cdsassl" != "xno"; then
22 if test $host_os_name = darwin; then
23 AC_CHECK_HEADER(Security/SecureTransport.h, [
24 have_ssl=1
25 AC_DEFINE(HAVE_SSL)
26 AC_DEFINE(HAVE_CDSASSL)
27 CUPS_SERVERKEYCHAIN="/Library/Keychains/System.keychain"
28
29 dnl Check for the various security headers...
30 AC_CHECK_HEADER(Security/SecCertificate.h,
31 AC_DEFINE(HAVE_SECCERTIFICATE_H))
32 AC_CHECK_HEADER(Security/SecItem.h,
33 AC_DEFINE(HAVE_SECITEM_H))
34 AC_CHECK_HEADER(Security/SecPolicy.h,
35 AC_DEFINE(HAVE_SECPOLICY_H))])
36 fi
37 fi
38
39 dnl Then look for GNU TLS...
40 if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
41 AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
42 if $PKGCONFIG --exists gnutls; then
43 have_ssl=1
44 SSLLIBS=`$PKGCONFIG --libs gnutls`
45 SSLFLAGS=`$PKGCONFIG --cflags gnutls`
46 AC_DEFINE(HAVE_SSL)
47 AC_DEFINE(HAVE_GNUTLS)
48 elif test "x$LIBGNUTLSCONFIG" != x; then
49 have_ssl=1
50 SSLLIBS=`$LIBGNUTLSCONFIG --libs`
51 SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
52 AC_DEFINE(HAVE_SSL)
53 AC_DEFINE(HAVE_GNUTLS)
54 fi
55
56 if test $have_ssl = 1; then
57 CUPS_SERVERKEYCHAIN="ssl"
58
59 SAVELIBS="$LIBS"
60 LIBS="$LIBS $SSLLIBS"
61 AC_CHECK_FUNC(gnutls_transport_set_pull_timeout_function, AC_DEFINE(HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION))
62 AC_CHECK_FUNC(gnutls_priority_set_direct, AC_DEFINE(HAVE_GNUTLS_PRIORITY_SET_DIRECT))
63 LIBS="$SAVELIBS"
64 fi
65 fi
66 fi
67
68 IPPALIASES="http"
69 if test $have_ssl = 1; then
70 AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
71 AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
72 IPPALIASES="http https ipps"
73 elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes; then
74 AC_MSG_ERROR([Unable to enable SSL support.])
75 fi
76
77 AC_SUBST(CUPS_SERVERKEYCHAIN)
78 AC_SUBST(IPPALIASES)
79 AC_SUBST(SSLFLAGS)
80 AC_SUBST(SSLLIBS)
81
82 EXPORT_SSLLIBS="$SSLLIBS"
83 AC_SUBST(EXPORT_SSLLIBS)