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: sta...@dpdk.org Signed-off-by: Thomas Monjalon <tho...@monjalon.net> Acked-by: Morten Brørup <m...@smartsharesystems.com> Acked-by: Shijith Thotton <sthot...@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 <bl...@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