From: Luca Boccassi <bluca@debian.org>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, david.marchand@redhat.com,
arybchenko@solarflare.com, ferruh.yigit@intel.com,
thomas@monjalon.net
Subject: Re: [dpdk-dev] [PATCH v3 6/7] build: standardize component names and defines
Date: Thu, 15 Oct 2020 16:32:35 +0100 [thread overview]
Message-ID: <ea1729986a7122cb2817b1ae63492c564f00c34e.camel@debian.org> (raw)
In-Reply-To: <20201015140312.GD554@bricha3-MOBL.ger.corp.intel.com>
On Thu, 2020-10-15 at 15:03 +0100, Bruce Richardson wrote:
> On Thu, Oct 15, 2020 at 02:05:37PM +0100, Luca Boccassi wrote:
> > On Thu, 2020-10-15 at 12:18 +0100, Bruce Richardson wrote:
> > > On Thu, Oct 15, 2020 at 11:30:29AM +0100, Luca Boccassi wrote:
> > > > On Wed, 2020-10-14 at 15:13 +0100, Bruce Richardson wrote:
> > > > > As discussed on the dpdk-dev mailing list[1], we can make some easy
> > > > > improvements in standardizing the naming of the various components in DPDK,
> > > > > and their associated feature-enabled macros.
> > > > >
> > > > > Following this patch, each library will have the name in format,
> > > > > 'librte_<name>.so', and the macro indicating that library is enabled in the
> > > > > build will have the form 'RTE_LIB_<NAME>'.
> > > > >
> > > > > Similarly, for libraries, the equivalent name formats and macros are:
> > > > > 'librte_<class>_<name>.so' and 'RTE_<CLASS>_<NAME>', where class is the
> > > > > device type taken from the relevant driver subdirectory name, i.e. 'net',
> > > > > 'crypto' etc.
> > > > >
> > > > > To avoid too many changes at once for end applications, the old macro names
> > > > > will still be provided in the build in this release, but will be removed
> > > > > subsequently.
> > > > >
> > > > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > > >
> > > > > [1] http://inbox.dpdk.org/dev/ef7c1a87-79ab-e405-4202-39b7ad6b0c71@solarflare.com/t/#u
> > > > > ---
> > > > > app/test-bbdev/meson.build | 4 ++--
> > > > > app/test-crypto-perf/meson.build | 2 +-
> > > > > app/test-pmd/meson.build | 12 ++++++------
> > > > > app/test/meson.build | 8 ++++----
> > > > > doc/guides/rel_notes/deprecation.rst | 8 ++++++++
> > > > > drivers/baseband/meson.build | 1 -
> > > > > drivers/bus/meson.build | 1 -
> > > > > drivers/common/meson.build | 1 -
> > > > > drivers/common/mlx5/meson.build | 1 -
> > > > > drivers/common/qat/meson.build | 1 -
> > > > > drivers/compress/meson.build | 1 -
> > > > > drivers/compress/octeontx/meson.build | 2 +-
> > > > > drivers/crypto/meson.build | 1 -
> > > > > drivers/crypto/null/meson.build | 2 +-
> > > > > drivers/crypto/octeontx/meson.build | 2 +-
> > > > > drivers/crypto/octeontx2/meson.build | 2 +-
> > > > > drivers/crypto/scheduler/meson.build | 2 +-
> > > > > drivers/crypto/virtio/meson.build | 2 +-
> > > > > drivers/event/dpaa/meson.build | 2 +-
> > > > > drivers/event/dpaa2/meson.build | 2 +-
> > > > > drivers/event/meson.build | 1 -
> > > > > drivers/event/octeontx/meson.build | 2 +-
> > > > > drivers/event/octeontx2/meson.build | 2 +-
> > > > > drivers/mempool/meson.build | 1 -
> > > > > drivers/meson.build | 9 ++++-----
> > > > > drivers/net/meson.build | 1 -
> > > > > drivers/net/mlx4/meson.build | 2 +-
> > > > > drivers/raw/ifpga/meson.build | 2 +-
> > > > > drivers/raw/meson.build | 1 -
> > > > > drivers/regex/meson.build | 1 -
> > > > > drivers/vdpa/meson.build | 1 -
> > > > > examples/bond/meson.build | 2 +-
> > > > > examples/ethtool/meson.build | 2 +-
> > > > > examples/ioat/meson.build | 2 +-
> > > > > examples/l2fwd-crypto/meson.build | 2 +-
> > > > > examples/ntb/meson.build | 2 +-
> > > > > examples/vm_power_manager/meson.build | 6 +++---
> > > > > lib/librte_ethdev/meson.build | 1 -
> > > > > lib/librte_graph/meson.build | 2 --
> > > > > lib/meson.build | 3 ++-
> > > > > 40 files changed, 47 insertions(+), 55 deletions(-)
> > > >
> > > > Does this change the share object file names too, or only the macros?
> > > >
> > >
> > > It does indeed change the object name files, which is a little bit
> > > concerning. However, the consensus based on the RFC seemed to be that the
> > > benefit is likely worth the change. If we want, we can look to use symlinks
> > > to the old names on install, but I think that just delays the pain since I
> > > would expect few to actually change their build to the new names until the
> > > old ones and the symlinks completely go away.
> > >
> > > /Bruce
> >
> > It is a backward incompatible change, so we need to provide symlinks,
> > right? On upgrade, programs linked to librte_old.so will fail to start.
> > Or was this targeted at 20.11 thus piggy-backing on the ABI change
> > which forces a re-link?
> >
> More of the latter, and the fact that changing the build system involved a
> few library renames anyway for those using make. Since the ABI is changing
> this release, and all the libs have a new major version number there is no
> requirement for libs linked against an older version to work, and since
> pkg-config should now be used for linking the actual names should not be
> a concern.
>
> That's the thinking anyway. :-)
>
> /Bruce
Ok that makes sense, I wasn't sure if this series was targeted for
20.11 or for later. In that case,
Acked-by: Luca Boccassi <bluca@debian.org>
--
Kind regards,
Luca Boccassi
next prev parent reply other threads:[~2020-10-15 15:33 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-16 16:44 [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 1/5] app: fix missing dependencies Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 2/5] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 3/5] meson: fix compatibility with make build defines Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 4/5] build: add defines for compatibility with make build Bruce Richardson
2020-09-16 16:44 ` [dpdk-dev] [RFC PATCH 5/5] build: replace use of old build macros Bruce Richardson
2020-09-17 17:59 ` [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility Andrew Rybchenko
2020-09-18 8:41 ` Bruce Richardson
2020-09-18 8:59 ` Andrew Rybchenko
2020-09-18 12:19 ` Ferruh Yigit
2020-09-23 12:46 ` Thomas Monjalon
2020-09-30 16:49 ` Richardson, Bruce
2020-09-30 17:31 ` Thomas Monjalon
2020-09-18 15:12 ` David Marchand
2020-09-30 16:12 ` Ferruh Yigit
2020-09-30 16:19 ` Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 0/8] Rework build macros Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 1/8] app: fix missing dependencies Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 3/8] build: add defines for compatibility with make build Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 4/8] qat: build from common folder Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 5/8] build: remove library name from version map filename Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 6/8] build: standardize component names and defines Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 7/8] build: replace use of old build macros Bruce Richardson
2020-10-02 15:58 ` [dpdk-dev] [RFC PATCH v2 8/8] [v21.02] build: remove compatibility build defines Bruce Richardson
2020-10-14 14:12 ` [dpdk-dev] [PATCH v3 0/7] Rework build macros Bruce Richardson
2020-10-14 14:12 ` [dpdk-dev] [PATCH v3 1/7] app: fix missing dependencies Bruce Richardson
2020-10-15 10:32 ` Luca Boccassi
2020-10-14 14:12 ` [dpdk-dev] [PATCH v3 2/7] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 10:32 ` Luca Boccassi
2020-10-14 14:13 ` [dpdk-dev] [PATCH v3 3/7] build: add defines for compatibility with make build Bruce Richardson
2020-10-15 10:31 ` Luca Boccassi
2020-10-15 11:20 ` Bruce Richardson
2020-10-14 14:13 ` [dpdk-dev] [PATCH v3 4/7] qat: build from common folder Bruce Richardson
2020-10-15 10:32 ` Luca Boccassi
2020-10-14 14:13 ` [dpdk-dev] [PATCH v3 5/7] build: remove library name from version map filename Bruce Richardson
2020-10-15 10:32 ` Luca Boccassi
2020-10-14 14:13 ` [dpdk-dev] [PATCH v3 6/7] build: standardize component names and defines Bruce Richardson
2020-10-15 10:30 ` Luca Boccassi
2020-10-15 11:18 ` Bruce Richardson
2020-10-15 13:05 ` Luca Boccassi
2020-10-15 14:03 ` Bruce Richardson
2020-10-15 15:32 ` Luca Boccassi [this message]
2020-10-15 15:34 ` Bruce Richardson
2020-10-14 14:13 ` [dpdk-dev] [PATCH v3 7/7] build: replace use of old build macros Bruce Richardson
2020-10-15 10:32 ` Luca Boccassi
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 0/8] Rework " Bruce Richardson
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 1/8] app: fix missing dependencies Bruce Richardson
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 3/8] build: add defines for compatibility with make build Bruce Richardson
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 4/8] qat: build from common folder Bruce Richardson
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 5/8] build: remove library name from version map filename Bruce Richardson
2020-10-18 11:56 ` Xu, Rosen
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 6/8] devtools/test-null: load all drivers from directory Bruce Richardson
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 7/8] build: standardize component names and defines Bruce Richardson
2020-10-18 11:55 ` Xu, Rosen
2020-10-15 11:03 ` [dpdk-dev] [PATCH v4 8/8] build: replace use of old build macros Bruce Richardson
2020-10-18 11:55 ` Xu, Rosen
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 0/8] Rework " Bruce Richardson
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 1/8] app: fix missing dependencies Bruce Richardson
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 3/8] build: add defines for compatibility with make build Bruce Richardson
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 4/8] qat: build from common folder Bruce Richardson
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 5/8] build: remove library name from version map filename Bruce Richardson
2020-10-15 15:28 ` Andrew Rybchenko
2020-10-19 20:04 ` Thomas Monjalon
2020-10-18 9:24 ` Xu, Rosen
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 6/8] devtools/test-null: load all drivers from directory Bruce Richardson
2020-10-19 16:58 ` Thomas Monjalon
2020-10-20 8:37 ` Bruce Richardson
2020-10-20 10:01 ` Thomas Monjalon
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 7/8] build: standardize component names and defines Bruce Richardson
2020-10-15 15:32 ` Andrew Rybchenko
2020-10-15 15:35 ` Bruce Richardson
2020-10-18 9:21 ` Xu, Rosen
2020-10-15 15:05 ` [dpdk-dev] [PATCH v5 8/8] build: replace use of old build macros Bruce Richardson
2020-10-15 15:34 ` Andrew Rybchenko
2020-10-18 9:23 ` Xu, Rosen
2020-10-19 19:03 ` Thomas Monjalon
2020-10-19 20:27 ` [dpdk-dev] [PATCH v5 0/8] Rework " Thomas Monjalon
2020-10-20 7:17 ` David Marchand
2020-10-20 8:37 ` 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=ea1729986a7122cb2817b1ae63492c564f00c34e.camel@debian.org \
--to=bluca@debian.org \
--cc=arybchenko@solarflare.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=thomas@monjalon.net \
/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).