[PATCH v2 2/2] drivers: skip build of sub-libs not supporting IOVA mode

Thomas Monjalon thomas at monjalon.net
Mon Mar 6 17:13:28 CET 2023


If IOVA as PA is disabled and the driver requires the IOVA field,
the build of the driver was disabled.
Unfortunately some drivers were building some sub-libraries
(with specific options for vector paths) which were not disabled.

The build parsing of those drivers need to be skipped earlier
to avoid defining the sub-libraries.

Fixes: a986c2b7973d ("build: add option to configure IOVA mode as PA")
Cc: stable at dpdk.org

Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
Acked-by: Morten Brørup <mb at smartsharesystems.com>
Acked-by: Shijith Thotton <sthotton at marvell.com>
---
 drivers/common/idpf/meson.build | 4 ++++
 drivers/event/dlb2/meson.build  | 5 ++++-
 drivers/net/bnxt/meson.build    | 4 ++++
 drivers/net/enic/meson.build    | 4 ++++
 drivers/net/i40e/meson.build    | 4 ++++
 drivers/net/iavf/meson.build    | 3 +++
 drivers/net/virtio/meson.build  | 4 ++++
 7 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/drivers/common/idpf/meson.build b/drivers/common/idpf/meson.build
index 58059ef443..74c0e92cac 100644
--- a/drivers/common/idpf/meson.build
+++ b/drivers/common/idpf/meson.build
@@ -1,6 +1,10 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2022 Intel Corporation
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 deps += ['mbuf']
 
 sources = files(
diff --git a/drivers/event/dlb2/meson.build b/drivers/event/dlb2/meson.build
index a2e60273c5..8ae7db0011 100644
--- a/drivers/event/dlb2/meson.build
+++ b/drivers/event/dlb2/meson.build
@@ -1,4 +1,3 @@
-
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019-2020 Intel Corporation
 
@@ -8,6 +7,10 @@ if not is_linux or not dpdk_conf.has('RTE_ARCH_X86_64')
         subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 sources = files(
         'dlb2.c',
         'dlb2_iface.c',
diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build
index 09d494e90f..c9ca09089a 100644
--- a/drivers/net/bnxt/meson.build
+++ b/drivers/net/bnxt/meson.build
@@ -8,6 +8,10 @@ if is_windows
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 headers = files('rte_pmd_bnxt.h')
 cflags_options = [
         '-DSUPPORT_CFA_HW_ALL=1',
diff --git a/drivers/net/enic/meson.build b/drivers/net/enic/meson.build
index 7131a25f09..f1f7f5432a 100644
--- a/drivers/net/enic/meson.build
+++ b/drivers/net/enic/meson.build
@@ -7,6 +7,10 @@ if is_windows
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 sources = files(
         'base/vnic_cq.c',
         'base/vnic_dev.c',
diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index e00c1a9ef9..689606a1de 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -13,6 +13,10 @@ if arch_subdir == 'riscv'
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 cflags += ['-DPF_DRIVER',
     '-DVF_DRIVER',
     '-DINTEGRATED_VF',
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index 6df771f917..c95503adda 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -1,6 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca at debian.org>
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
 
 cflags += ['-Wno-strict-aliasing']
 
diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index 0ffd77024e..b8ba1807fa 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/meson.build
@@ -7,6 +7,10 @@ if is_windows
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 sources += files(
         'virtio.c',
         'virtio_cvq.c',
-- 
2.39.1



More information about the stable mailing list