From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id DEC6041CDD;
	Sun, 19 Feb 2023 12:55:49 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 770FB40E2D;
	Sun, 19 Feb 2023 12:55:49 +0100 (CET)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id 1099F40698;
 Sun, 19 Feb 2023 12:55:47 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 856235C00AE;
 Sun, 19 Feb 2023 06:55:46 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Sun, 19 Feb 2023 06:55:46 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 cc:cc:content-transfer-encoding:date:date:from:from:in-reply-to
 :message-id:mime-version:reply-to:sender:subject:subject:to:to;
 s=fm1; t=1676807746; x=1676894146; bh=tOpnMrUaMcAHKH/eiXH0W23tN
 mtOblq7Tt4tSlqa90o=; b=GHTcOMKFrv+eZQWLxLowDGwCU2OGh/OYUUnIFGFpQ
 vaMbYoUMHm9MPF3iKcI+uOlRVLyJ16Df77S55ROE/lxSmB6/gZxnmMef7H8aGorm
 wcc+6aoKpUc6cHZY14Zz/4ooCukRe5l7BKtLehy603Z2wKMRsMMe08/GcUYQDctT
 AsAqhKeeWcnDKGy0n74//WfY/nCETXuQuQIxqX3wwV+9/C8oRdGmzw6XeOFrMlPn
 1DiJD7jij7U+y2HykxmxTme2YYm3Uy8jXRYyOdRv686FdO0RHpXqPyPn82TQU8Gs
 +HvS1xxUOwIfnIz5z2IXF6iZ/slbPWvnp0CYsNmeG/Yww==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:message-id
 :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
 1676807746; x=1676894146; bh=tOpnMrUaMcAHKH/eiXH0W23tNmtOblq7Tt4
 tSlqa90o=; b=IzwNfsykwKBCprH5CRKXrEhjKmeMWzbdt2mFTWUGnzB9m3i7Uzu
 3N8hA0Jcc48SBmr0IRlEldM0cpvtJG8iBdjzzTKqgxWvkBlUfv7Ocg++guzdev2s
 1jg8Jver93Imkp8ddqgmD358o/YBcoRM1DTLjMbY0KiYFpF2cQAbJChZ/IvAL6Y/
 IuJnF9wgGZ8bgTBFry+Ibtd/MiIeeD13DZdJeygCipcFW21IyLT+uYn1rqKdvOGs
 /I2EhI/aFDTWthv64ytogCnfvjBOxoXJLPQi2iYRo6+sex5XE0PtfI060uqOMIAR
 uKvVwEv5mk7jztre+n6tPH2cSKJfaIdOPHQ==
X-ME-Sender: <xms:QQ7yY88m_2ML8FGDE12Gm-vLPW1pYlRmtAd2D2_UX5FrpuGQrAjCuw>
 <xme:QQ7yY0ucS2GVv56yb6sK4eEkMTOnJS9b9Y3tme-3ATnItOxB72C-YpBOHF5-RUgSn
 JBn1cawBS0lQr4_Bw>
X-ME-Received: <xmr:QQ7yYyBGIXK1FaCFuJCLAEXM3CVO3wnTBekFejoz0pzwD2bGDok6OqRBz_zcnSHIQSuGwV9XiWNxvaAE1hmRH5o>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudejfedgfeegucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepvfhhohhmrghs
 ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucggtf
 frrghtthgvrhhnpeevveefveeiiefhtedukeegkeelieegffeukeevudetueffieduveet
 iedukeefleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh
 hmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght
X-ME-Proxy: <xmx:QQ7yY8cHjyewHjDqjf-uxFQms7fmGFerwKB8JaQWnWzWDxhfwKFDew>
 <xmx:QQ7yYxPemlLy9cR7sSN-uKbQPZWS2TEScarrF-St812yMzXTaB01jA>
 <xmx:QQ7yY2k84ANmMR0txqK4WCLzM21cpzdRVXG83xL6O0eRevihso6xeQ>
 <xmx:Qg7yYywDIc0VyaiN83vY5Wtcfkps43ZDlIuWOAna_bJubo6kslImUA>
Feedback-ID: i47234305:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 19 Feb 2023 06:55:43 -0500 (EST)
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: David Marchand <david.marchand@redhat.com>,
 Bruce Richardson <bruce.richardson@intel.com>,
 Qi Zhang <qi.z.zhang@intel.com>, stable@dpdk.org,
 Jingjing Wu <jingjing.wu@intel.com>, Beilei Xing <beilei.xing@intel.com>,
 Timothy McDaniel <timothy.mcdaniel@intel.com>,
 Ajit Khaparde <ajit.khaparde@broadcom.com>,
 Somnath Kotur <somnath.kotur@broadcom.com>,
 John Daley <johndale@cisco.com>, Hyong Youb Kim <hyonkim@cisco.com>,
 Dongdong Liu <liudongdong3@huawei.com>,
 Yisen Zhuang <yisen.zhuang@huawei.com>,
 Yuying Zhang <Yuying.Zhang@intel.com>,
 Maxime Coquelin <maxime.coquelin@redhat.com>,
 Chenbo Xia <chenbo.xia@intel.com>, Shijith Thotton <sthotton@marvell.com>,
 Olivier Matz <olivier.matz@6wind.com>
Subject: [PATCH] drivers: skip build of sub-libs not supporting IOVA mode
Date: Sun, 19 Feb 2023 12:55:29 +0100
Message-Id: <20230219115529.3260580-1-thomas@monjalon.net>
X-Mailer: git-send-email 2.39.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

If IOVA as PA is disabled and the driver does not support IOVA as VA,
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@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/common/idpf/meson.build | 4 ++++
 drivers/event/dlb2/meson.build  | 5 ++++-
 drivers/meson.build             | 4 ++--
 drivers/net/bnxt/meson.build    | 4 ++++
 drivers/net/enic/meson.build    | 4 ++++
 drivers/net/hns3/meson.build    | 4 +---
 drivers/net/i40e/meson.build    | 4 ++++
 drivers/net/iavf/meson.build    | 3 +++
 drivers/net/virtio/meson.build  | 4 ++++
 9 files changed, 30 insertions(+), 6 deletions(-)

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/meson.build b/drivers/meson.build
index 0618c31a69..9c10e2633d 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -127,9 +127,9 @@ foreach subpath:subdirs
             # pull in driver directory which should update all the local variables
             subdir(drv_path)
 
-            if dpdk_conf.get('RTE_IOVA_AS_PA') == 0 and not pmd_supports_disable_iova_as_pa and not always_enable.contains(drv_path)
+            if not get_option('enable_iova_as_pa') and not pmd_supports_disable_iova_as_pa and not always_enable.contains(drv_path)
                 build = false
-                reason = 'driver does not support disabling IOVA as PA mode'
+                reason = 'IOVA as VA not supported'
             endif
 
             # get dependency objs from strings
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/hns3/meson.build b/drivers/net/hns3/meson.build
index e1a5afa2ec..743fae9db7 100644
--- a/drivers/net/hns3/meson.build
+++ b/drivers/net/hns3/meson.build
@@ -13,9 +13,7 @@ if arch_subdir != 'x86' and arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_
     subdir_done()
 endif
 
-if dpdk_conf.get('RTE_IOVA_AS_PA') == 0
-    build = false
-    reason = 'driver does not support disabling IOVA as PA mode'
+if not get_option('enable_iova_as_pa')
     subdir_done()
 endif
 
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@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