On Thu, Jan 10, 2019 at 10:34:19AM +0000, Burakov, Anatoly wrote:
> On 10-Jan-19 10:02 AM, Bruce Richardson wrote:
> > On Thu, Jan 10, 2019 at 09:52:43AM +0100, Thomas Monjalon wrote:
> > > 10/01/2019 09:45, Burakov, Anatoly:
> > > > On 09-Jan-19 9:36 PM, Thomas Monjalon wrote:
> > > > > 09/01/2019 21:51, Bruce Richardson:
> > > > > > On Wed, Jan 09, 2019 at 06:29:32PM +0100, David Marchand wrote:
> > > > > > > On Wed, Jan 9, 2019 at 6:18 PM Anatoly Burakov
> > > > > > > <[1]anatoly.bura...@intel.com> wrote:
> > > > > > >
> > > > > > > Currently, while EAL does depend on librte_compat as far
> > > > > > > as common
> > > > > > > meson build is concerned, for some reason the headers for
> > > > > > > that
> > > > > > > library are not added into the list of includes. This is
> > > > > > > fixed in
> > > > > > > Linuxapp-specific meson file, but is absent from FreeBSD
> > > > > > > meson file.
> > > > > > > This worked fine up until recently, when an rte_compat
> > > > > > > dependency
> > > > > > > was added to rte_log, which is a common header. Fix this
> > > > > > > issue by
> > > > > > > adding librte_compat includes to common EAL meson file.
> > > > > > > Fixes: 844514c73569 ("eal: build with meson")
> > > > > > > Fixes: a8499f65a1d1 ("log: add missing experimental tag")
> > > > > > > Cc: [2]bruce.richard...@intel.com
> > > > > > > Cc: [3]david.march...@redhat.com
> > > > > > > Cc: [4]sta...@dpdk.org
> > > > > > > Signed-off-by: Anatoly Burakov
> > > > > > > <[5]anatoly.bura...@intel.com>
> > > > > > >
> > > > > > > lgtm, thanks.
> > > > > > > Reviewed-by: David Marchand <[6]david.march...@redhat.com>
> > > > > > > --
> > > > > > > David Marchand
> > > > > > >
> > > > > > Agreed.
> > > > > > One other point I'd make is that having compat as a separate
> > > > > > library seems
> > > > > > a little like overkill to me - it's just one header file! Is there
> > > > > > a reason
> > > > > > why we don't just move it into the EAL where everyone can use it
> > > > > > without
> > > > > > having to specify another dependency?
> > > > >
> > > > > +1 for moving compat into EAL.
> > > > >
> > > >
> > > > Presumably the reason to keep it separate would be to enable depending
> > > > on it for libraries that EAL itself depends on (i.e. kvargs).
> > >
> > > Yes, forgot this one.
> > >
> >
> > I also forgot that. However, that does bring up the thought that for some
> > of our headers we may want them available for all libraries even before EAL
> > is compiled up. [I think this hits on the idea Thomas was discussing of
> > splitting EAL up into two, where we have a core part that is always
> > compiled first and has no dependencies followed by another which is built
> > later and can have dependencies.]
> >
> > For this specific issue, my thought is that we should indeed move compat.h
> > into EAL, but also add the EAL common/include/ path to the global include
> > path for the project, so all EAL headers (e.g. including those with defines
> > for cacheline size, and other common macros) are just always available.
> > Libs like kvargs and others should be able to use RTE_DIM etc. for
> > consistency with the rest of DPDK.
> >
> > /Bruce
> >
>
> Patches welcome so! :)
>
Working on it... :-)