crypto/aesni_gcm: check dependency version with meson
authorBruce Richardson <bruce.richardson@intel.com>
Tue, 23 Apr 2019 15:43:55 +0000 (16:43 +0100)
committerAkhil Goyal <akhil.goyal@nxp.com>
Tue, 30 Apr 2019 06:37:13 +0000 (08:37 +0200)
The aesni_mb driver and the aesni_gcm driver both require the same version
of the IPSec_MB library, but only the former has a check of the library
found by meson to see if it's the correct version. Add a similar check to
the aesni_gcm library's meson.build file, so that the auto-detection of
dependencies works correctly.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
drivers/crypto/aesni_gcm/meson.build

index 70f57ad..7183cfc 100644 (file)
@@ -1,11 +1,22 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+IMB_required_ver = '0.52.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
        build = false
 else
        ext_deps += lib
+
+       # version comes with quotes, so we split based on " and take the middle
+       imb_ver = cc.get_define('IMB_VERSION_STR',
+               prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
+
+       if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
+               message('IPSec_MB version >= @0@ is required, found version @1@'.format(
+                               IMB_required_ver, imb_ver))
+               build = false
+       endif
 endif
 
 allow_experimental_apis = true