> -----Original Message-----
> From: Bruce Richardson <bruce.richard...@intel.com>
> Sent: Monday, February 17, 2020 4:19 PM
> To: Amit Gupta <agup...@marvell.com>
> Cc: Harman Kalra <hka...@marvell.com>; dev@dpdk.org
> Subject: [EXT] Re: [dpdk-dev] [PATCH] net/octeontx: meson build fix if
> octeontx drivers are disabled
> 
> External Email
> 
> ----------------------------------------------------------------------
> On Mon, Feb 17, 2020 at 01:17:49PM +0530, agup...@marvell.com wrote:
> > From: Amit Gupta <agup...@marvell.com>
> >
> > Add a condition to check if octeontx drivers are disabled.
> > octeontx drivers are built only if dependent drivers i.e.
> > ethdev, mempool and common/octeontx are enabled.
> >
> > BugZilla ID # BUG 387
> >
> > Signed-off-by: Amit Gupta <agup...@marvell.com>
> > ---
> >  drivers/net/octeontx/base/meson.build | 32
> > ++++++++++++++++++++++++--------
> >  1 file changed, 24 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/net/octeontx/base/meson.build
> > b/drivers/net/octeontx/base/meson.build
> > index a06a2c8..50e7972 100644
> > --- a/drivers/net/octeontx/base/meson.build
> > +++ b/drivers/net/octeontx/base/meson.build
> > @@ -9,17 +9,33 @@ sources = [
> >
> >  depends = ['ethdev', 'mempool_octeontx']  static_objs = [] -foreach
> > d: depends
> > -   static_objs += [get_variable('static_rte_' + d)]
> > +
> > +disabled_drivers = get_option('disable_drivers').split(',')
> > +
> > +build = true
> > +foreach disable_path: disabled_drivers
> > +        if (('net/octeontx' == disable_path) or
> > +      ('event/octeontx' == disable_path) or
> > +      ('common/octeontx' == disable_path) or
> > +      ('mempool/octeontx' == disable_path))
> > +                build = false
> > +        endif
> >  endforeach
> >
> >  c_args = cflags
> >  if allow_experimental_apis
> > -   c_args += '-DALLOW_EXPERIMENTAL_API'
> > +        c_args += '-DALLOW_EXPERIMENTAL_API'
> >  endif
> > -base_lib = static_library('octeontx_base', sources,
> > -   c_args: c_args,
> > -   dependencies: static_objs,
> > -)
> >
> > -base_objs = base_lib.extract_all_objects()
> > +if build
> > +        foreach d: depends
> > +                static_objs += [get_variable('static_rte_' + d)]
> > +        endforeach
> > +
> > +        base_lib = static_library('octeontx_base', sources,
> > +                c_args: c_args,
> > +                dependencies: static_objs,
> > +        )
> > +
> > +        base_objs = base_lib.extract_all_objects() endif
> 
> A better fix here might be possible using the fact that the get_variable() 
> call
> allows passing a fallback value in the case of failure. Therefore something 
> like
> the below might work cleaner:
ACK, will update the same in V2
> 
> foreach d: depends
>       static_obj = [get_variable('static_rte_' + d, '']
>       if static_obj == ''
>               build = false
>               reason = '....'
>               subdir_done()
>       endif
>       static_objs += static_obj
> ...
> 
> Maybe a disabler object could be used also.
> 
> Regards,
> /Bruce

Reply via email to