DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: David Marchand <david.marchand@redhat.com>
Cc: Tyler Retzlaff <roretzla@linux.microsoft.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	Konstantin Ananyev <konstantin.ananyev@huawei.com>,
	<dev@dpdk.org>
Subject: Re: [PATCH] ring: build with global includes
Date: Tue, 22 Nov 2022 09:17:50 +0000	[thread overview]
Message-ID: <Y3yTvr1OzXg7uLwu@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <CAJFAV8xzptoBbQR_CH_bzU24_jN3hkt4TLQ+2U0hi4ReuXxBUQ@mail.gmail.com>

On Tue, Nov 22, 2022 at 09:51:53AM +0100, David Marchand wrote:
> On Mon, Nov 21, 2022 at 11:49 PM Tyler Retzlaff
> <roretzla@linux.microsoft.com> wrote:
> >
> > On Mon, Nov 21, 2022 at 10:36:24PM +0100, Thomas Monjalon wrote:
> > > 21/11/2022 22:27, Konstantin Ananyev:
> > > > From: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > > > > e.g. i don't see.
> > > > >
> > > > > deps += ['eal']
> > > > >
> > > > > is the dependency on eal the library or just eal headers? because if it
> > > > > is header only it is equivalent to telemetry i think?
> > > >
> > > > rte_ring.c uses bunch of EAL functions:
> > > > rte_zmalloc, rte_memzone_*,  rte_log*, rte_mcfg*, etc.
> > >
> > > I think deps += ['eal'] is missing in ring meson file.
> >
> > i guess that's what i'm kind of getting at... if it was there then the
> > patch i submitted is not required since depending on eal would drag in
> > global_inc.
> 
> It is implicitly added, via lib/meson.build:
> 
> First eal is parsed before a lot of other components:
> 
> libraries = [
>         'kvargs', # eal depends on kvargs
>         'telemetry', # basic info querying
>         'eal', # everything depends on eal
>         'ring',
> 
> Then, there is:
> 
>     # eal is standard dependency once built
>     if dpdk_conf.has('RTE_LIB_EAL')
>         deps += ['eal']
>     endif
> 
> 
Since every library in DPDK that is built after EAL depends upon EAL, it's
added as a standard dependency. However, if we prefer to have more explicit
dependencies we can remove that and add it to what every libraries need
it.

[Ideally, I'd like to have all library meson.build files call out the
full list of other libs they use, but I found in the past that it caused
the configure time with meson to balloon as it tracked recursive
dependencies, leading to entries appearing multiple times and then having to
be pruned down. This is why in meson.build files dependency lists have been
kept to a minimum up till now]

/Bruce

  reply	other threads:[~2022-11-22  9:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-18 23:22 Tyler Retzlaff
2022-11-18 23:22 ` Tyler Retzlaff
2022-11-21 10:31 ` Bruce Richardson
2022-11-21 19:53   ` Tyler Retzlaff
2022-11-21 21:27     ` Konstantin Ananyev
2022-11-21 21:36       ` Thomas Monjalon
2022-11-21 22:48         ` Tyler Retzlaff
2022-11-22  8:51           ` David Marchand
2022-11-22  9:17             ` Bruce Richardson [this message]
2022-11-22 16:22               ` Tyler Retzlaff

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=Y3yTvr1OzXg7uLwu@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@huawei.com \
    --cc=roretzla@linux.microsoft.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).