waf: Also check for gnutls_privkey_export_x509()
[bbaumbach/samba-autobuild/.git] / wscript_configure_system_gnutls
1 from waflib import Options
2
3 gnutls_min_required_version = "3.2.0"
4
5 gnutls_required_version = gnutls_min_required_version
6
7 #
8 # If we build with MIT Kerberos we need at least GnuTLS 3.4.7 for the backupkey
9 # protocol.
10 #
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)
14
15 conf.CHECK_CFG(package='gnutls',
16                args=('"gnutls >= %s" --cflags --libs' % gnutls_required_version),
17                      msg='Checking for GnuTLS >= %s' % gnutls_required_version,
18                      mandatory=True)
19
20 # Define gnutls as a system library
21 conf.SET_TARGET_TYPE('gnutls', 'SYSLIB')
22
23 # Check for gnutls_privkey_export_x509 (>= 3.4.0) required by backupkey
24 conf.CHECK_FUNCS_IN('gnutls_privkey_export_x509', 'gnutls')
25
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')
28
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')
31
32 # Check for gnutls_aead_cipher_init (>= 3.4.0) used by encrypted_secrets
33 if conf.CHECK_FUNCS_IN('gnutls_aead_cipher_init',
34                        'gnutls',
35                        headers='gnutls/gnutls.h'):
36     conf.DEFINE('HAVE_GNUTLS_AEAD', '1')
37 else:
38     Logs.warn('No gnutls support for AEAD encryption')