[PATCH v3 1/2] common/mlx5: fix build disabling
Thomas Monjalon
thomas at monjalon.net
Sun Oct 30 12:08:25 CET 2022
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.rybchenko at oktetlabs.ru>
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
Tested-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
Reviewed-by: David Marchand <david.marchand at redhat.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
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)
+ # avoid referencing undefined variables from common/mlx5
+ subdir_done()
+endif
+
sources = files(
'mlx5_compress.c',
)
diff --git a/drivers/crypto/mlx5/meson.build b/drivers/crypto/mlx5/meson.build
index 9d9c9c00bc..7521c4c671 100644
--- a/drivers/crypto/mlx5/meson.build
+++ b/drivers/crypto/mlx5/meson.build
@@ -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',
diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
index ff84448186..fa15158039 100644
--- a/drivers/net/mlx5/meson.build
+++ b/drivers/net/mlx5/meson.build
@@ -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',
diff --git a/drivers/regex/mlx5/meson.build b/drivers/regex/mlx5/meson.build
index e553dcb83d..70edc5b6da 100644
--- a/drivers/regex/mlx5/meson.build
+++ b/drivers/regex/mlx5/meson.build
@@ -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',
diff --git a/drivers/vdpa/mlx5/meson.build b/drivers/vdpa/mlx5/meson.build
index 9d8dbb1a82..54a4eac6f4 100644
--- a/drivers/vdpa/mlx5/meson.build
+++ b/drivers/vdpa/mlx5/meson.build
@@ -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',
--
2.36.1
More information about the dev
mailing list