On Tue, Nov 22, 2022 at 09:17:50AM +0000, Bruce Richardson wrote: > On Tue, Nov 22, 2022 at 09:51:53AM +0100, David Marchand wrote: > > On Mon, Nov 21, 2022 at 11:49 PM Tyler Retzlaff > > <roret...@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 <roret...@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 > > > >
ah! thank you for pointing this out. i just couldn't see it. > 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] no, this is fine the way it works. i just obsessed about understanding how it was working. i'll withdraw the patch, it isn't needed. thanks!