On Tue, Jul 06, 2021 at 10:59:19AM +0100, Daniel P. Berrangé wrote: > This introduces the build logic needed to decide whether we can > use gnutls as a crypto driver backend. The actual implementations > will be introduced in following patches. We only wish to use > gnutls if it has version 3.6.14 or newer, because that is what > finally brings HW accelerated AES-XTS mode for x86_64. > > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> > --- > meson.build | 36 ++++++++++++++++++++++++++++++++---- > 1 file changed, 32 insertions(+), 4 deletions(-)
Again, take this with a grain of salt, since my meson skills are near zero. But the comments do a good job, and it looks sane. > diff --git a/meson.build b/meson.build > index 51b8f4ab75..6031f4f0b1 100644 > --- a/meson.build > +++ b/meson.build > @@ -811,11 +811,34 @@ if 'CONFIG_OPENGL' in config_host > endif > > gnutls = not_found > +gnutls_crypto = not_found > if not get_option('gnutls').auto() or have_system > - gnutls = dependency('gnutls', version: '>=3.5.18', > - method: 'pkg-config', > - required: get_option('gnutls'), > - kwargs: static_kwargs) > + # For general TLS support our min gnutls matches > + # that implied by our platform support matrix > + # > + # For the crypto backends, we look for a newer > + # gnutls: > + # > + # Version 3.6.8 is needed to get XTS > + # Version 3.6.13 is needed to get PBKDF > + # Version 3.6.14 is needed to get HW accelerated XTS > + # > + # If newer enough gnutls isn't available, we can > + # still use a different crypto backend to satisfy > + # the platform support requirements > + gnutls_crypto = dependency('gnutls', version: '>=3.6.14', > + method: 'pkg-config', > + required: get_option('gnutls'), > + kwargs: static_kwargs) > + if gnutls_crypto.found() > + gnutls = gnutls_crypto > + else > + # Our min version if all we need is TLS > + gnutls = dependency('gnutls', version: '>=3.5.18', > + method: 'pkg-config', > + required: get_option('gnutls'), > + kwargs: static_kwargs) TAB damage. With that fixed, Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org