DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: Bruce Richardson <bruce.richardson@intel.com>
Subject: [PATCH v4 0/9] expand list of optional libraries
Date: Fri, 23 Jun 2023 16:06:59 +0100	[thread overview]
Message-ID: <20230623150708.2203918-1-bruce.richardson@intel.com> (raw)
In-Reply-To: <20230622134840.3225975-1-bruce.richardson@intel.com>

DPDK still has many libraries which cannot be disabled as part of a
build. With the ongoing work to make it easier to only build a subset
of the libraries in DPDK, we can also work to expand the list of
libraries which can be enabled/disabled as desired.

This patch addresses a number of the "low-hanging fruit" libraries,
where only the unit test builds need minor changes to support
making the library optional. The rest of the build system is already
well set up for selective disabling of libraries.

For better support of enabling components, especially those more
integrated into DPDK unit tests, rework of the test meson.build file
is likely needed. For example, it could probably be better rewritten
to use a dictionary of files and the dependencies of each file, and
the unit test commands each provides. However, such rework is a
significant effort, and outside the scope of this patchset.

V4:
- fix more issues with disabling eventdev:
  * ensure dlb2 driver doesn't directly reference the static lib
  * ensure l3fwd can be built using makefiles without eventdev
  * remove dependency on eventdev for unit tests like pdump that
    don't actually need it.

V3:
- rebase on top of main.
- make eventdev an optional dependency of l3fwd
- Fix incorrect define reference - RTE_LIB_IP_FRAG vs RTE_IP_FRAG

V2: fix checkpatch issues, since checkpatch doesn't like empty commit
    messages (even if the title is pretty self-explanatory!)

Bruce Richardson (9):
  examples/l3fwd: make eventdev an optional dependency
  event/dlb2: skip configuration if no eventdev lib
  build: make most device classes optional
  build: make membership library optional
  build: make bpf library optional
  build: make efd library optional
  build: make distributor library optional
  build: make fragmentation library optional
  build: make reorder library optional

 app/test/meson.build                       | 89 +++++++++++++---------
 drivers/event/dlb2/meson.build             |  2 +-
 examples/l3fwd/l3fwd_em.c                  |  2 +
 examples/l3fwd/l3fwd_em_hlm.h              |  2 +
 examples/l3fwd/l3fwd_event.c               |  2 +
 examples/l3fwd/l3fwd_event.h               |  7 +-
 examples/l3fwd/l3fwd_event_generic.c       |  2 +
 examples/l3fwd/l3fwd_event_internal_port.c |  2 +
 examples/l3fwd/l3fwd_fib.c                 |  2 +
 examples/l3fwd/l3fwd_lpm.c                 |  2 +
 examples/l3fwd/main.c                      | 65 ++++++++++++----
 examples/l3fwd/meson.build                 |  5 +-
 lib/meson.build                            | 13 ++++
 13 files changed, 143 insertions(+), 52 deletions(-)

--
2.39.2


  parent reply	other threads:[~2023-06-23 15:07 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-22 13:48 [PATCH 0/7] " Bruce Richardson
2023-06-22 13:48 ` [PATCH 1/7] build: make most device classes optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 2/7] build: make membership library optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 3/7] build: make bpf " Bruce Richardson
2023-06-22 13:48 ` [PATCH 4/7] build: make efd " Bruce Richardson
2023-06-22 13:48 ` [PATCH 5/7] build: make distributor " Bruce Richardson
2023-06-22 13:48 ` [PATCH 6/7] build: make fragmentation libary optional Bruce Richardson
2023-06-22 13:48 ` [PATCH 7/7] build: make reorder library optional Bruce Richardson
2023-06-22 14:30 ` [PATCH 0/7] expand list of optional libraries Morten Brørup
2023-06-22 15:05 ` [PATCH v2 " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 1/7] build: make most device classes optional Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 2/7] build: make membership library optional Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 3/7] build: make bpf " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 4/7] build: make efd " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 5/7] build: make distributor " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 6/7] build: make fragmentation " Bruce Richardson
2023-06-22 15:05   ` [PATCH v2 7/7] build: make reorder " Bruce Richardson
2023-06-23 10:25   ` [PATCH v2 0/7] expand list of optional libraries David Marchand
2023-06-23 10:31     ` David Marchand
2023-06-23 11:08       ` Bruce Richardson
2023-06-23 11:15 ` [PATCH v3 0/8] " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 1/8] examples/l3fwd: make eventdev an optional dependency Bruce Richardson
2023-06-23 13:25     ` Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 2/8] build: make most device classes optional Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 3/8] build: make membership library optional Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 4/8] build: make bpf " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 5/8] build: make efd " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 6/8] build: make distributor " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 7/8] build: make fragmentation " Bruce Richardson
2023-06-23 11:15   ` [PATCH v3 8/8] build: make reorder " Bruce Richardson
2023-06-23 15:06 ` Bruce Richardson [this message]
2023-06-23 15:07   ` [PATCH v4 1/9] examples/l3fwd: make eventdev an optional dependency Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 2/9] event/dlb2: skip configuration if no eventdev lib Bruce Richardson
2023-06-28 10:19     ` David Marchand
2023-06-29  9:39       ` David Marchand
2023-07-18  9:09         ` Bruce Richardson
2023-08-01  8:36           ` David Marchand
2023-08-01  9:17             ` Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 3/9] build: make most device classes optional Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 4/9] build: make membership library optional Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 5/9] build: make bpf " Bruce Richardson
2023-06-27  9:26     ` Konstantin Ananyev
2023-06-23 15:07   ` [PATCH v4 6/9] build: make efd " Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 7/9] build: make distributor " Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 8/9] build: make fragmentation " Bruce Richardson
2023-06-27  9:32     ` Konstantin Ananyev
2023-07-17 13:19       ` Bruce Richardson
2023-06-23 15:07   ` [PATCH v4 9/9] build: make reorder " Bruce Richardson
2023-07-04  1:40   ` [PATCH v4 0/9] expand list of optional libraries fengchengwen
2023-08-14 15:10   ` 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=20230623150708.2203918-1-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;
as well as URLs for NNTP newsgroup(s).