All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: valex@nvidia.com, ferruh.yigit@amd.com,
	andrew.rybchenko@oktetlabs.ru, rasland@nvidia.com,
	david.marchand@redhat.com, Matan Azrad <matan@nvidia.com>,
	Fan Zhang <royzhang1980@gmail.com>,
	Ashish Gupta <ashish.gupta@marvell.com>,
	Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
	Ori Kam <orika@nvidia.com>
Subject: [PATCH v2 1/2] common/mlx5: fix build disabling
Date: Sun, 30 Oct 2022 09:27:21 +0100	[thread overview]
Message-ID: <20221030082722.1333530-2-thomas@monjalon.net> (raw)
In-Reply-To: <20221030082722.1333530-1-thomas@monjalon.net>

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@oktetlabs.ru>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: Andrew Rybchenko <andrew.rybchenko@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)
+    # 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


  reply	other threads:[~2022-10-30  8:27 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-29  9:05 DPDK main build is broken for me in net/mlx5 if I disable common/mlx5 Andrew Rybchenko
2022-10-29 23:17 ` [PATCH 0/2] fix build disabling common/mlx5 Thomas Monjalon
2022-10-29 23:17   ` [PATCH 1/2] net/mlx5: fix disabling common/mlx5 dependency Thomas Monjalon
2022-10-29 23:17   ` [PATCH 2/2] common/mlx5: move Meson config initialization and check Thomas Monjalon
2022-10-30  7:34   ` [PATCH 0/2] fix build disabling common/mlx5 Andrew Rybchenko
2022-10-30  8:27 ` [PATCH v2 " Thomas Monjalon
2022-10-30  8:27   ` Thomas Monjalon [this message]
2022-10-30  9:16     ` [PATCH v2 1/2] common/mlx5: fix build disabling Matan Azrad
2022-11-02 12:10     ` Bruce Richardson
2022-11-02 12:29       ` Thomas Monjalon
2022-11-02 13:14         ` Bruce Richardson
2022-11-02 13:17           ` Thomas Monjalon
2022-11-07 16:37           ` [PATCH] common/mlx5: use build configuration dictionary Thomas Monjalon
2022-11-07 17:07             ` Bruce Richardson
2022-11-08  7:51             ` David Marchand
2022-11-14 10:31               ` David Marchand
2022-10-30  8:27   ` [PATCH v2 2/2] common/mlx5: move Meson config initialization and check Thomas Monjalon
2022-10-30  9:16     ` Matan Azrad
2022-10-30  9:14   ` [PATCH v2 0/2] fix build disabling common/mlx5 David Marchand
2022-10-30 11:08 ` [PATCH v3 " Thomas Monjalon
2022-10-30 11:08   ` [PATCH v3 1/2] common/mlx5: fix build disabling Thomas Monjalon
2022-10-30 13:33     ` Alex Vesker
2022-10-30 11:08   ` [PATCH v3 2/2] common/mlx5: move build config initialization and check Thomas Monjalon
2022-10-30 13:34     ` Alex Vesker
2022-10-30 15:12   ` [PATCH v3 0/2] fix build disabling common/mlx5 Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221030082722.1333530-2-thomas@monjalon.net \
    --to=thomas@monjalon.net \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=ashish.gupta@marvell.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=matan@nvidia.com \
    --cc=orika@nvidia.com \
    --cc=rasland@nvidia.com \
    --cc=royzhang1980@gmail.com \
    --cc=valex@nvidia.com \
    --cc=viacheslavo@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.