From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: mb@smartsharesystems.com, Bruce Richardson <bruce.richardson@intel.com>
Subject: [PATCH v3 3/3] build: RFC - add support for optional dependencies
Date: Wed, 20 Dec 2023 14:21:52 +0000 [thread overview]
Message-ID: <20231220142152.492556-4-bruce.richardson@intel.com> (raw)
In-Reply-To: <20231220142152.492556-1-bruce.richardson@intel.com>
In order to remove more libraries from the mandatory list, we need to
have support for optionally having a dependency from a driver or library
to another driver or lib. This patch adds this support by adding a new
optional_deps variable, the contents of which are added to the deps list
if those optional dependencies are present in the build.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/meson.build | 7 +++++++
lib/meson.build | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/drivers/meson.build b/drivers/meson.build
index 5ba534049a..af2d8da5a8 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -127,6 +127,7 @@ foreach subpath:subdirs
includes = [include_directories(drv_path)]
# set up internal deps. Drivers can append/override as necessary
deps = std_deps
+ optional_deps = []
# ext_deps: Stores external library dependency got
# using dependency() (preferred) or find_library().
# For the find_library() case (but not with dependency()) we also
@@ -168,6 +169,12 @@ foreach subpath:subdirs
# get dependency objs from strings
shared_deps = ext_deps
static_deps = ext_deps
+ foreach d:optional_deps
+ #if optional dep exists, add it to the deps list
+ if is_variable('shared_rte_' + d)
+ deps += d
+ endif
+ endforeach
foreach d:deps
if not build
break
diff --git a/lib/meson.build b/lib/meson.build
index 72e9138d14..733412c276 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -140,6 +140,7 @@ foreach l:libraries
# external package/library requirements
ext_deps = []
deps = []
+ optional_deps = []
# eal is standard dependency once built
if dpdk_conf.has('RTE_LIB_EAL')
deps += ['eal']
@@ -177,6 +178,12 @@ foreach l:libraries
shared_deps = ext_deps
static_deps = ext_deps
+ foreach d:optional_deps
+ #if optional dep exists, add it to the deps list
+ if is_variable('shared_rte_' + d)
+ deps += d
+ endif
+ endforeach
foreach d:deps
if not build
break
--
2.40.1
next prev parent reply other threads:[~2023-12-20 14:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-03 16:28 [PATCH 24.03] build: track mandatory rather than optional libs Bruce Richardson
2023-11-03 16:52 ` [PATCH 24.03 v2] " Bruce Richardson
2023-11-03 17:31 ` Morten Brørup
2023-11-03 18:08 ` Bruce Richardson
2023-11-03 20:19 ` Morten Brørup
2023-11-06 10:28 ` Bruce Richardson
2023-11-06 11:22 ` Morten Brørup
2023-11-06 11:27 ` Bruce Richardson
2023-11-06 11:37 ` Morten Brørup
2023-12-20 14:21 ` [PATCH v3 0/3] Improve optional lib support Bruce Richardson
2023-12-20 14:21 ` [PATCH v3 1/3] build: track mandatory rather than optional libs Bruce Richardson
2023-12-20 14:21 ` [PATCH v3 2/3] build: remove 5 libs from mandatory list Bruce Richardson
2023-12-20 15:18 ` Morten Brørup
2023-12-20 16:05 ` Bruce Richardson
2023-12-20 14:21 ` Bruce Richardson [this message]
2023-12-20 15:08 ` [PATCH v3 3/3] build: RFC - add support for optional dependencies Morten Brørup
2023-12-20 15:43 ` Bruce Richardson
2024-10-04 20:59 ` Stephen Hemminger
2024-02-01 9:23 ` [PATCH v3 0/3] Improve optional lib support David Marchand
2024-02-01 9:25 ` Bruce Richardson
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=20231220142152.492556-4-bruce.richardson@intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=mb@smartsharesystems.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.