summaryrefslogtreecommitdiff
path: root/wscript_configure_system_gnutls
blob: cc9a2b035a2f99feb163eb13f444393b4afd83f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from waflib import Options

gnutls_min_required_version = "3.2.0"

gnutls_required_version = gnutls_min_required_version

#
# If we build with MIT Kerberos we need at least GnuTLS 3.4.7 for the backupkey
# protocol.
#
if Options.options.with_system_mitkrb5 and conf.env.AD_DC_BUILD_IS_ENABLED:
    gnutls_required_version = "3.4.7"
    conf.DEFINE('HAVE_GNUTLS_3_4_7', 1)

conf.CHECK_CFG(package='gnutls',
               args=('"gnutls >= %s" --cflags --libs' % gnutls_required_version),
                     msg='Checking for GnuTLS >= %s' % gnutls_required_version,
                     mandatory=True)

# Define gnutls as a system library
conf.SET_TARGET_TYPE('gnutls', 'SYSLIB')

# Check for gnutls_privkey_export_x509 (>= 3.4.0) required by backupkey
conf.CHECK_FUNCS_IN('gnutls_privkey_export_x509', 'gnutls')

# Check for gnutls_x509_crt_set_subject_unique_id (>= 3.4.7) required by backupkey
conf.CHECK_FUNCS_IN('gnutls_x509_crt_set_subject_unique_id', 'gnutls')

# Check for gnutls_pkcs7_get_embedded_data_oid (>= 3.5.5) required by libmscat
conf.CHECK_FUNCS_IN('gnutls_pkcs7_get_embedded_data_oid', 'gnutls')

# Check for gnutls_aead_cipher_init (>= 3.4.0) used by encrypted_secrets
if conf.CHECK_FUNCS_IN('gnutls_aead_cipher_init',
                       'gnutls',
                       headers='gnutls/gnutls.h'):
    conf.DEFINE('HAVE_GNUTLS_AEAD', '1')
else:
    Logs.warn('No gnutls support for AEAD encryption')