[dpdk-dev] [PATCH 1/1] build: allow disabling libs

Bruce Richardson bruce.richardson at intel.com
Thu Jun 15 10:42:58 CEST 2023


On Wed, Jun 14, 2023 at 12:09:51PM -0700, Stephen Hemminger wrote:
> On Fri, 18 Sep 2020 14:57:50 +0100
> Bruce Richardson <bruce.richardson at intel.com> wrote:
> 
> > On Fri, Sep 18, 2020 at 02:54:21PM +0200, Mohammed Hawari wrote:
> > > Hello Bruce,
> > > 
> > > Thanks for the quick response, see inline
> > > 
> > > Best regards,
> > > 
> > > Mohammed
> > >   
> > > > On 18 Sep 2020, at 13:43, Bruce Richardson <bruce.richardson at intel.com> wrote:
> > > > 
> > > > On Fri, Sep 18, 2020 at 10:49:23AM +0200, Mohammed Hawari wrote:  
> > > >> Similarly to the disable_drivers option, the disable_libs option is
> > > >> introduced. This allows to selectively disable the build of elements
> > > >> in libs to speed-up the build process.
> > > >> 
> > > >> Signed-off-by: Mohammed Hawari <mohammed at hawari.fr>
> > > >> ---  
> > > > 
> > > > While I don't particularly like allowing libs to be enabled and disabled
> > > > since it complicates the build, I can see why it's necessary. This is an
> > > > area that does need some discussion, as I believe others have some opinions
> > > > in this area too.
> > > > 
> > > > However, for now, some additional thoughts, both on this patch and in
> > > > general:
> > > > 
> > > > 1. I see you included disabling apps if their required libs are not
> > > >   available. What about the drivers though?  
> > > To my understanding, in the current code, the drivers/meson.build file already
> > > does that check with:
> > > 
> > > foreach d:deps
> > >                 if not is_variable('shared_rte_' + d)
> > >                     build = false
> > >   
> > 
> > Yes, my mistake, I forgot that that was added as one driver could depend
> > upon another. :-(
> > 
> > > > 2. A bigger issue is whether this is really what we want to do, guarantee a
> > > >   passing build even if vast chunks of DPDK are actually enabled? I'd tend
> > > >   towards "no" in this case, and I'd rather see disabling of libs more
> > > >   constrained.
> > > > 3. To this end, I think I'd rather see us maintain a set of libs which are
> > > >   allowed to be disabled, and prevent the rest from being so. For example,
> > > >   it makes no sense in DPDK to disable the EAL or mempool libs, since nothing
> > > >   will build, while the bitrate_stats or latency_stats libs could likely
> > > >   be disabled with little or no impact.  
> > > I tend to agree with that more structured approach, but I am going to wait until
> > > we get some more thoughts from the community before starting that work.
> > >   
> > 
> > That seems a wise approach. If there is no consensus after a while here, it
> > probably needs to go to the technical board.
> 
> 
> Marking current patch as "Changes requested".
> Assume that if someone wants to go further then and propose a more
> targeted build setting. Something like minimal??

The more targetted approach has been implemented and can constantly be
improved upon. We can already disable a set of libraries, with only those
validated as being ok to disable on that list. Therefore, I think this
patch can just be rejected as obsolete. Any additional work in this area
should be:
* increasing list of optional libs
* looking again at adding an "enable_libs" flag. I was against this
  previously, but now think it's time may have come!

/Bruce


More information about the dev mailing list