common/mlx5: fix disabling build

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: 22681deead ("net/mlx5/hws: enable hardware steering")

Reported-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Acked-by: Alex Vesker <valex@nvidia.com>
This commit is contained in:
Thomas Monjalon 2022-10-30 00:16:58 +02:00
parent 5976328d91
commit 3df380f617
5 changed files with 25 additions and 0 deletions

View File

@ -9,6 +9,11 @@ endif
fmt_name = 'mlx5_compress'
deps += ['common_mlx5', 'eal', 'compressdev']
if not ('mlx5' in common_drivers)
# avoid referencing undefined variables from common/mlx5
subdir_done()
endif
sources = files(
'mlx5_compress.c',
)

View File

@ -9,6 +9,11 @@ endif
fmt_name = 'mlx5_crypto'
deps += ['common_mlx5', 'eal', 'cryptodev']
if not ('mlx5' in common_drivers)
# avoid referencing undefined variables from common/mlx5
subdir_done()
endif
sources = files(
'mlx5_crypto.c',
'mlx5_crypto_dek.c',

View File

@ -9,6 +9,11 @@ if not (is_linux or is_windows)
endif
deps += ['hash', 'common_mlx5']
if not ('mlx5' in common_drivers)
# avoid referencing undefined variables from common/mlx5
subdir_done()
endif
headers = files('rte_pmd_mlx5.h')
sources = files(
'mlx5.c',

View File

@ -8,6 +8,11 @@ if not is_linux
endif
deps += ['common_mlx5', 'eal', 'regexdev']
if not ('mlx5' in common_drivers)
# avoid referencing undefined variables from common/mlx5
subdir_done()
endif
sources = files(
'mlx5_regex.c',
'mlx5_rxp.c',

View File

@ -8,6 +8,11 @@ if not is_linux
endif
deps += ['hash', 'common_mlx5', 'vhost', 'pci', 'eal', 'sched']
if not ('mlx5' in common_drivers)
# avoid referencing undefined variables from common/mlx5
subdir_done()
endif
sources = files(
'mlx5_vdpa.c',
'mlx5_vdpa_mem.c',