[v2,1/3] crypto/aesni_gcm: add dependency version check
Checks
Commit Message
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>
---
drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
1 file changed, 11 insertions(+)
Comments
> -----Original Message-----
> From: Richardson, Bruce
> Sent: Tuesday, April 23, 2019 4:44 PM
> To: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>
> Subject: [PATCH v2 1/3] crypto/aesni_gcm: add dependency version check
>
> 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>
On Tue, 2019-04-23 at 16:43 +0100, Bruce Richardson wrote:
> 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
> >
> ---
> drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/crypto/aesni_gcm/meson.build
> b/drivers/crypto/aesni_gcm/meson.build
> index 70f57ad73..7183cfcba 100644
> --- a/drivers/crypto/aesni_gcm/meson.build
> +++ b/drivers/crypto/aesni_gcm/meson.build
> @@ -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
Shouldn't this be moved into a new else branch after the version check?
> +
> + # 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
>
On Wed, Apr 24, 2019 at 10:19:20AM +0100, Luca Boccassi wrote:
> On Tue, 2019-04-23 at 16:43 +0100, Bruce Richardson wrote:
> > 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
> > >
> > ---
> > drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/drivers/crypto/aesni_gcm/meson.build
> > b/drivers/crypto/aesni_gcm/meson.build
> > index 70f57ad73..7183cfcba 100644
> > --- a/drivers/crypto/aesni_gcm/meson.build
> > +++ b/drivers/crypto/aesni_gcm/meson.build
> > @@ -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
>
> Shouldn't this be moved into a new else branch after the version check?
>
No, it's harmless where it is, since if build is set to false, the values
set for sources, deps etc. are all ignored and reset for building the next
driver in the list.
/Bruce
On Wed, 2019-04-24 at 11:38 +0100, Bruce Richardson wrote:
> On Wed, Apr 24, 2019 at 10:19:20AM +0100, Luca Boccassi wrote:
> > On Tue, 2019-04-23 at 16:43 +0100, Bruce Richardson wrote:
> > > 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
> > >
> > >
> > > ---
> > > drivers/crypto/aesni_gcm/meson.build | 11 +++++++++++
> > > 1 file changed, 11 insertions(+)
> > >
> > > diff --git a/drivers/crypto/aesni_gcm/meson.build
> > > b/drivers/crypto/aesni_gcm/meson.build
> > > index 70f57ad73..7183cfcba 100644
> > > --- a/drivers/crypto/aesni_gcm/meson.build
> > > +++ b/drivers/crypto/aesni_gcm/meson.build
> > > @@ -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
> >
> > Shouldn't this be moved into a new else branch after the version
> > check?
> >
>
> No, it's harmless where it is, since if build is set to false, the
> values
> set for sources, deps etc. are all ignored and reset for building the
> next
> driver in the list.
>
> /Bruce
Ah I see, thanks
@@ -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