[dpdk-stable] [PATCH v3] compat: merge compat library into EAL

Bruce Richardson bruce.richardson at intel.com
Wed Feb 6 15:17:45 CET 2019


On Wed, Feb 06, 2019 at 07:22:54AM -0500, Neil Horman wrote:
> On Wed, Feb 06, 2019 at 11:01:30AM +0000, Bruce Richardson wrote:
> > Since compat library is only a single header, we can easily move it into
> > the EAL common headers instead of tracking it separately. The downside of
> > this is that it becomes a little more difficult to have any libs that are
> > built before EAL depend on it. Thankfully, this is not a major problem as
> > the only library which uses rte_compat.h and is built before EAL (kvargs)
> > already has the path to the compat.h header file explicitly called out as
> > an include path.
> > 
> > However, to ensure that we don't hit problems later with this, we can add
> > EAL common headers folder to the global include list in the meson build
> > which means that all common headers can be safely used by all libraries, no
> > matter what their build order.
> > 
> This assumes that the compat lib will always just be a header though, no?  Will
> this work in the event that someone wants to add some compatibility code that
> requires its own C compilation unit?
> 

No, it probably won't work, you'll hit an issue with any libraries that
don't depend on EAL and need that functionality. The question is whether
this is likely to be an issue in the future for us. I'd say the possiblity
is fairly remote, but I'm open to input on it.

> > As a side-effect, this patch also fixes an issue with building on BSD using
> > meson, due to compat lib no longer needing to be listed as a dependency.
> > 
> Can you elaborate here a bit please?  listing a lib as a dependency seems like a
> fundamental function of a build system, was there a bug with meson in this
> capacity?
> 

It was a bug in DPDK. There was already a dependency on the compat
library from libeal from linux, but not from BSD, so when a further
dependency was added globally, the BSD build broke, but the linux one
didn't.

/Bruce


More information about the stable mailing list