From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>
Subject: [RFC PATCH 11/12] build: make EAL an explicit dependency
Date: Fri, 16 Oct 2026 11:59:49 +0100 [thread overview]
Message-ID: <20261016105950.273068-12-bruce.richardson@intel.com> (raw)
In-Reply-To: <20261016105950.273068-1-bruce.richardson@intel.com>
To improve dependency tracking using the querying script, remove EAL as
an automatic dependency of libraries, and instead include it explicitly
in the dependency list of libraries that need it (and don't have it via
other existing dependencies).
In the process, we can simplify dependency lists a bit more by removing
the conditional link between EAL and telemetry on windows. Since
telemetry is always built, it can always be present as a dependency of
EAL, and so need not be specified as a dependency when EAL is.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
lib/acl/meson.build | 1 +
lib/cfgfile/meson.build | 1 +
lib/cryptodev/meson.build | 2 +-
lib/dmadev/meson.build | 2 +-
lib/eal/meson.build | 5 +----
lib/ethdev/meson.build | 2 +-
lib/eventdev/meson.build | 1 -
lib/ipsec/meson.build | 2 +-
lib/jobstats/meson.build | 1 +
lib/mempool/meson.build | 2 +-
lib/meson.build | 4 ----
lib/meter/meson.build | 1 +
lib/metrics/meson.build | 2 +-
lib/pci/meson.build | 1 +
lib/ptr_compress/meson.build | 1 +
lib/rawdev/meson.build | 2 +-
lib/ring/meson.build | 2 +-
lib/stack/meson.build | 1 +
lib/timer/meson.build | 1 +
19 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/lib/acl/meson.build b/lib/acl/meson.build
index a26c111395..e41e1d1d4d 100644
--- a/lib/acl/meson.build
+++ b/lib/acl/meson.build
@@ -9,6 +9,7 @@ endif
cflags += no_wvla_cflag
+deps += ['eal']
sources = files('acl_bld.c', 'acl_gen.c', 'acl_run_scalar.c',
'rte_acl.c', 'tb_mem.c')
headers = files('rte_acl.h', 'rte_acl_osdep.h')
diff --git a/lib/cfgfile/meson.build b/lib/cfgfile/meson.build
index 88eb819856..d6d690ccaa 100644
--- a/lib/cfgfile/meson.build
+++ b/lib/cfgfile/meson.build
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+deps += ['eal']
sources = files('rte_cfgfile.c')
headers = files('rte_cfgfile.h')
diff --git a/lib/cryptodev/meson.build b/lib/cryptodev/meson.build
index 4734acf321..2dcadb3513 100644
--- a/lib/cryptodev/meson.build
+++ b/lib/cryptodev/meson.build
@@ -20,4 +20,4 @@ driver_sdk_headers += files(
'cryptodev_pmd.h',
)
-deps += ['kvargs', 'mbuf', 'rcu', 'telemetry']
+deps += ['kvargs', 'mbuf', 'rcu']
diff --git a/lib/dmadev/meson.build b/lib/dmadev/meson.build
index 62b0650b9b..4352178783 100644
--- a/lib/dmadev/meson.build
+++ b/lib/dmadev/meson.build
@@ -6,4 +6,4 @@ headers = files('rte_dmadev.h')
indirect_headers += files('rte_dmadev_core.h', 'rte_dmadev_trace_fp.h')
driver_sdk_headers += files('rte_dmadev_pmd.h')
-deps += ['telemetry']
+deps += ['eal']
diff --git a/lib/eal/meson.build b/lib/eal/meson.build
index e72276a7ca..ee84f4852a 100644
--- a/lib/eal/meson.build
+++ b/lib/eal/meson.build
@@ -13,10 +13,7 @@ subdir(exec_env)
subdir(arch_subdir)
-deps += ['argparse', 'kvargs']
-if not is_windows
- deps += ['telemetry']
-endif
+deps += ['argparse', 'kvargs', 'telemetry']
if dpdk_conf.has('RTE_HAS_LIBARCHIVE')
ext_deps += libarchive
diff --git a/lib/ethdev/meson.build b/lib/ethdev/meson.build
index 8ba6c708a2..c9c141db02 100644
--- a/lib/ethdev/meson.build
+++ b/lib/ethdev/meson.build
@@ -53,7 +53,7 @@ if is_linux
)
endif
-deps += ['net', 'kvargs', 'meter', 'telemetry']
+deps += ['net', 'kvargs', 'meter']
if is_freebsd
annotate_locks = false
diff --git a/lib/eventdev/meson.build b/lib/eventdev/meson.build
index 0797c145e7..6df290bd23 100644
--- a/lib/eventdev/meson.build
+++ b/lib/eventdev/meson.build
@@ -44,4 +44,3 @@ driver_sdk_headers += files(
)
deps += ['ring', 'ethdev', 'hash', 'mempool', 'mbuf', 'timer', 'cryptodev', 'dmadev']
-deps += ['telemetry']
diff --git a/lib/ipsec/meson.build b/lib/ipsec/meson.build
index 02d18f5829..7c5cb44128 100644
--- a/lib/ipsec/meson.build
+++ b/lib/ipsec/meson.build
@@ -16,6 +16,6 @@ sources = files('esp_inb.c', 'esp_outb.c',
headers = files('rte_ipsec.h', 'rte_ipsec_sa.h', 'rte_ipsec_sad.h')
indirect_headers += files('rte_ipsec_group.h')
-deps += ['mbuf', 'net', 'cryptodev', 'security', 'hash', 'telemetry']
+deps += ['mbuf', 'net', 'cryptodev', 'security', 'hash']
annotate_locks = false
diff --git a/lib/jobstats/meson.build b/lib/jobstats/meson.build
index 6da2a95b75..b7544aa035 100644
--- a/lib/jobstats/meson.build
+++ b/lib/jobstats/meson.build
@@ -7,5 +7,6 @@ if is_windows
subdir_done()
endif
+deps += ['eal']
sources = files('rte_jobstats.c')
headers = files('rte_jobstats.h')
diff --git a/lib/mempool/meson.build b/lib/mempool/meson.build
index 8099a56466..db67349668 100644
--- a/lib/mempool/meson.build
+++ b/lib/mempool/meson.build
@@ -19,4 +19,4 @@ headers = files(
'rte_mempool.h',
'rte_mempool_trace_fp.h',
)
-deps += ['ring', 'telemetry']
+deps += ['ring']
diff --git a/lib/meson.build b/lib/meson.build
index 16c7a65786..34fbd93977 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -143,10 +143,6 @@ foreach l:libraries
ext_deps = []
deps = []
optional_deps = []
- if dpdk_conf.has('RTE_LIB_EAL')
- # eal is standard dependency once built
- deps += ['eal']
- endif
if dpdk_libs_deprecated.contains(l)
if not enable_deprecated_libs.contains(l)
diff --git a/lib/meter/meson.build b/lib/meter/meson.build
index 646fd4d43f..e9e4aba506 100644
--- a/lib/meter/meson.build
+++ b/lib/meter/meson.build
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+deps += ['eal']
sources = files('rte_meter.c')
headers = files('rte_meter.h')
diff --git a/lib/metrics/meson.build b/lib/metrics/meson.build
index 6722f666d2..7dfc48b3ec 100644
--- a/lib/metrics/meson.build
+++ b/lib/metrics/meson.build
@@ -8,6 +8,6 @@ if dpdk_conf.has('RTE_HAS_JANSSON')
ext_deps += jansson_dep
endif
-deps += ['ethdev', 'telemetry']
+deps += ['ethdev']
cflags += no_wvla_cflag
diff --git a/lib/pci/meson.build b/lib/pci/meson.build
index dd41cd5068..3b42932ac7 100644
--- a/lib/pci/meson.build
+++ b/lib/pci/meson.build
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+deps += ['eal']
sources = files('rte_pci.c')
headers = files('rte_pci.h')
diff --git a/lib/ptr_compress/meson.build b/lib/ptr_compress/meson.build
index e92706a45f..07705034ac 100644
--- a/lib/ptr_compress/meson.build
+++ b/lib/ptr_compress/meson.build
@@ -1,4 +1,5 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2024 Arm Limited
+deps += ['eal']
headers = files('rte_ptr_compress.h')
diff --git a/lib/rawdev/meson.build b/lib/rawdev/meson.build
index ccfd922fda..9a2478492c 100644
--- a/lib/rawdev/meson.build
+++ b/lib/rawdev/meson.build
@@ -11,4 +11,4 @@ sources = files('rte_rawdev.c')
headers = files('rte_rawdev.h')
driver_sdk_headers = files('rte_rawdev_pmd.h')
-deps += ['telemetry']
+deps += ['eal']
diff --git a/lib/ring/meson.build b/lib/ring/meson.build
index 2ba160b178..a1b709836d 100644
--- a/lib/ring/meson.build
+++ b/lib/ring/meson.build
@@ -18,4 +18,4 @@ indirect_headers += files (
'rte_ring_rts.h',
'rte_ring_rts_elem_pvt.h',
)
-deps += ['telemetry']
+deps += ['eal']
diff --git a/lib/stack/meson.build b/lib/stack/meson.build
index 18177a742f..cd569665b9 100644
--- a/lib/stack/meson.build
+++ b/lib/stack/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
+deps += ['eal']
sources = files('rte_stack.c', 'rte_stack_std.c', 'rte_stack_lf.c')
headers = files('rte_stack.h')
# subheaders, not for direct inclusion by apps
diff --git a/lib/timer/meson.build b/lib/timer/meson.build
index 66ef89ac00..a8d89a8d93 100644
--- a/lib/timer/meson.build
+++ b/lib/timer/meson.build
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+deps += ['eal']
sources = files('rte_timer.c')
headers = files('rte_timer.h')
--
2.53.0
next prev parent reply other threads:[~2026-10-16 11:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 10:59 [RFC PATCH 00/12] Add config-time dependency tracking Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 01/12] build: fix name of base library object Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 02/12] build: fix ignoring requested driver when class is disabled Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 03/12] build: prevent overlap of enable and disable lists Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 04/12] build: add direct support for optional dependencies Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 05/12] net/bond: rename directory for consistency Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 06/12] build: add script to generate dependencies list Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 07/12] build: use recursive addition for enabled libraries option Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 08/12] build: use recursive addition for enabled drivers option Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 09/12] build: improve error reporting for unbuildable components Bruce Richardson
2026-10-16 10:59 ` [RFC PATCH 10/12] build: add EAL common directory to global include list Bruce Richardson
2026-10-16 10:59 ` Bruce Richardson [this message]
2026-10-16 10:59 ` [RFC PATCH 12/12] build: simplify mandatory library lists Bruce Richardson
2026-10-16 14:35 ` [RFC PATCH 00/12] Add config-time dependency tracking David Marchand
2026-10-16 14:44 ` Bruce Richardson
2026-10-16 14:51 ` David Marchand
2026-10-16 15:42 ` 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=20261016105950.273068-12-bruce.richardson@intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox