02/11/2022 13:10, Bruce Richardson: > On Sun, Oct 30, 2022 at 09:27:21AM +0100, Thomas Monjalon wrote: > > If the dependency common/mlx5 is explicitly disabled, > > but net/mlx5 is not explicitly disabled, > > Meson will read the full recipe of net/mlx5 > > and will fail when accessing a variable from common/mlx5: > > drivers/net/mlx5/meson.build:76:4: ERROR: Unknown variable "mlx5_config". > > > > The solution is to stop parsing net/mlx5 if common/mlx5 is disabled. > > The deps array must be defined before stopping, in order to automatically > > disable the build of net/mlx5 and print the reason. > > > > The same protection is applied to other mlx5 drivers, > > so it will allow using the variable mlx5_config in future. > > > > Fixes: 22681deead3e ("net/mlx5/hws: enable hardware steering") > > > > Reported-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > > Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > > Tested-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > > --- > > drivers/compress/mlx5/meson.build | 5 +++++ > > drivers/crypto/mlx5/meson.build | 5 +++++ > > drivers/net/mlx5/meson.build | 5 +++++ > > drivers/regex/mlx5/meson.build | 5 +++++ > > drivers/vdpa/mlx5/meson.build | 5 +++++ > > 5 files changed, 25 insertions(+) > > > > diff --git a/drivers/compress/mlx5/meson.build > > b/drivers/compress/mlx5/meson.build > > index 7aac329986..49ce3aff46 100644 > > --- a/drivers/compress/mlx5/meson.build > > +++ b/drivers/compress/mlx5/meson.build > > @@ -9,6 +9,11 @@ endif > > > > fmt_name = 'mlx5_compress' > > deps += ['common_mlx5', 'eal', 'compressdev'] > > +if not ('mlx5' in common_drivers) > > While this is fine as-is, I think the more usual way for checking the > presence of a component in DPDK is to check dpdk_conf. In this case the > check would be "if not dpdk_conf.has('RTE_COMMON_MLX5')". You may want to > consider using that for consistency.
Yes, I've forgotten this: lib_name = '_'.join(['rte', class, name]) dpdk_conf.set(lib_name.to_upper(), 1) Then what is the usage of this? set_variable(class + '_drivers', enabled_drivers)