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... :-)

Reply via email to