> -----Original Message-----
> From: Tyler Retzlaff <roret...@linux.microsoft.com>
> Sent: Monday, November 21, 2022 7:53 PM
> To: Bruce Richardson <bruce.richard...@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [PATCH] ring: build with global includes
>
> On Mon, Nov 21, 2022 at 10:31:29AM +0000, Bruce Richardson wrote:
> > On Fri, Nov 18, 2022 at 03:22:07PM -0800, Tyler Retzlaff wrote:
> > > ring has no dependencies and should be able to be built standalone but
> > > cannot be since it cannot find rte_config.h. this change directs meson
> > > to include global_inc paths just like is done with other libraries
> > > e.g. telemetry.
> > >
> > > Tyler Retzlaff (1):
> > > ring: build with global includes
> > >
> > > lib/ring/meson.build | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> >
> > I am a little confused by this change - how do you mean built-standalone?
> > The ring library depends upon EAL for memory management, does it not? Also,
> > no DPDK library can be built on its own without the rest of the top-level
> > build infrastructure, which will ensure that the global-include folders are
> > on the include path?
> >
> > In terms of other libs, e.g. telemetry, the only reason those need the
> > global includes added to their include path explicitly is because those are
> > built ahead of EAL. Anything that depends on EAL - including ring - will
> > have the global includes available.
>
> i'm having trouble seeing where in the meson.build that ring depends on
> eal can you point me to where it is?
>
> >
> > Can you explain a little more about the use-case you are looking at here,
> > and how you are attempting to build ring?
>
> so i found this by trying to understand other libraries dependencies
> through a process of disabling the build of various subsets.
>
> it's possible i didn't look deeply enough but i didn't see an explicit
> dependency on eal (in the meson.build files). maybe you can point out
> where it is because by just having rte_config.h available it compiles
> and links.
>
> 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.
> thanks!
>
> ty
>
> >
> > /Bruce