> -----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