1 from waflib import Options
3 gnutls_min_required_version = "3.2.0"
5 gnutls_required_version = gnutls_min_required_version
8 # If we build with MIT Kerberos we need at least GnuTLS 3.4.7 for the backupkey
11 if Options.options.with_system_mitkrb5 and conf.env.AD_DC_BUILD_IS_ENABLED:
12 gnutls_required_version = "3.4.7"
13 conf.DEFINE('HAVE_GNUTLS_3_4_7', 1)
15 conf.CHECK_CFG(package='gnutls',
16 args=('"gnutls >= %s" --cflags --libs' % gnutls_required_version),
17 msg='Checking for GnuTLS >= %s' % gnutls_required_version,
20 # Define gnutls as a system library
21 conf.SET_TARGET_TYPE('gnutls', 'SYSLIB')
23 # Check for gnutls_privkey_export_x509 (>= 3.4.0) required by backupkey
24 conf.CHECK_FUNCS_IN('gnutls_privkey_export_x509', 'gnutls')
26 # Check for gnutls_x509_crt_set_subject_unique_id (>= 3.4.7) required by backupkey
27 conf.CHECK_FUNCS_IN('gnutls_x509_crt_set_subject_unique_id', 'gnutls')
29 # Check for gnutls_pkcs7_get_embedded_data_oid (>= 3.5.5) required by libmscat
30 conf.CHECK_FUNCS_IN('gnutls_pkcs7_get_embedded_data_oid', 'gnutls')
32 # Check for gnutls_aead_cipher_init (>= 3.4.0) used by encrypted_secrets
33 if conf.CHECK_FUNCS_IN('gnutls_aead_cipher_init',
35 headers='gnutls/gnutls.h'):
36 conf.DEFINE('HAVE_GNUTLS_AEAD', '1')
38 Logs.warn('No gnutls support for AEAD encryption')