DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled
@ 2020-02-17  7:47 agupta3
  2020-02-17  9:54 ` David Marchand
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: agupta3 @ 2020-02-17  7:47 UTC (permalink / raw)
  To: Harman Kalra; +Cc: dev, Amit Gupta

From: Amit Gupta <agupta3@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 <agupta3@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
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled
  2020-02-17  7:47 [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled agupta3
@ 2020-02-17  9:54 ` David Marchand
  2020-02-19  4:34   ` [dpdk-dev] [EXT] " Amit Gupta
  2020-02-17 10:48 ` [dpdk-dev] " Bruce Richardson
  2020-03-02  6:31 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers agupta3
  2 siblings, 1 reply; 16+ messages in thread
From: David Marchand @ 2020-02-17  9:54 UTC (permalink / raw)
  To: Amit Gupta; +Cc: Harman Kalra, dev, Bruce Richardson

On Mon, Feb 17, 2020 at 8:48 AM <agupta3@marvell.com> wrote:
>
> From: Amit Gupta <agupta3@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

Interesting format, but we prefer consistency, you can see this in git history.
Bugzilla ID: xxx

This can be caught by running the devtools/check-git-log.sh script.


>
> Signed-off-by: Amit Gupta <agupta3@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

I am no meson expert, but I'd say you can put a subdir_done() if your
check is false and then you don't need to check the build variable
later.
Besides, you can most likely do this check at the top of this file
alongside "depends".

Cc: Bruce who commented on this bz.

>
>  c_args = cflags
>  if allow_experimental_apis
> -       c_args += '-DALLOW_EXPERIMENTAL_API'
> +        c_args += '-DALLOW_EXPERIMENTAL_API'

Unrelated change + whitespace damage after.




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


--
David Marchand


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled
  2020-02-17  7:47 [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled agupta3
  2020-02-17  9:54 ` David Marchand
@ 2020-02-17 10:48 ` Bruce Richardson
  2020-02-19  4:32   ` [dpdk-dev] [EXT] " Amit Gupta
  2020-03-02  6:31 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers agupta3
  2 siblings, 1 reply; 16+ messages in thread
From: Bruce Richardson @ 2020-02-17 10:48 UTC (permalink / raw)
  To: agupta3; +Cc: Harman Kalra, dev

On Mon, Feb 17, 2020 at 01:17:49PM +0530, agupta3@marvell.com wrote:
> From: Amit Gupta <agupta3@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 <agupta3@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:

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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled
  2020-02-17 10:48 ` [dpdk-dev] " Bruce Richardson
@ 2020-02-19  4:32   ` Amit Gupta
  0 siblings, 0 replies; 16+ messages in thread
From: Amit Gupta @ 2020-02-19  4:32 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Harman Kalra, dev



> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Monday, February 17, 2020 4:19 PM
> To: Amit Gupta <agupta3@marvell.com>
> Cc: Harman Kalra <hkalra@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, agupta3@marvell.com wrote:
> > From: Amit Gupta <agupta3@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 <agupta3@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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled
  2020-02-17  9:54 ` David Marchand
@ 2020-02-19  4:34   ` Amit Gupta
  0 siblings, 0 replies; 16+ messages in thread
From: Amit Gupta @ 2020-02-19  4:34 UTC (permalink / raw)
  To: David Marchand; +Cc: Harman Kalra, dev, Bruce Richardson



> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Monday, February 17, 2020 3:24 PM
> To: Amit Gupta <agupta3@marvell.com>
> Cc: Harman Kalra <hkalra@marvell.com>; dev <dev@dpdk.org>; Bruce
> Richardson <bruce.richardson@intel.com>
> Subject: [EXT] Re: [dpdk-dev] [PATCH] net/octeontx: meson build fix if
> octeontx drivers are disabled
> 
> External Email
> 
> ----------------------------------------------------------------------
> On Mon, Feb 17, 2020 at 8:48 AM <agupta3@marvell.com> wrote:
> >
> > From: Amit Gupta <agupta3@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
> 
> Interesting format, but we prefer consistency, you can see this in git history.
> Bugzilla ID: xxx
> 
> This can be caught by running the devtools/check-git-log.sh script.

ACK, will update the same in V2

> 
> 
> >
> > Signed-off-by: Amit Gupta <agupta3@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
> 
> I am no meson expert, but I'd say you can put a subdir_done() if your check
> is false and then you don't need to check the build variable later.
> Besides, you can most likely do this check at the top of this file alongside
> "depends".

ACK, will update the same in V2

> 
> Cc: Bruce who commented on this bz.
> 
> >
> >  c_args = cflags
> >  if allow_experimental_apis
> > -       c_args += '-DALLOW_EXPERIMENTAL_API'
> > +        c_args += '-DALLOW_EXPERIMENTAL_API'
> 
> Unrelated change + whitespace damage after.
> 
ACK, will update the same in V2
> 
> 
> 
> >  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
> > --
> > 1.8.3.1
> >
> 
> 
> --
> David Marchand


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-02-17  7:47 [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled agupta3
  2020-02-17  9:54 ` David Marchand
  2020-02-17 10:48 ` [dpdk-dev] " Bruce Richardson
@ 2020-03-02  6:31 ` agupta3
  2020-03-02 10:53   ` Bruce Richardson
  2020-03-04  5:47   ` [dpdk-dev] [PATCH v3 " agupta3
  2 siblings, 2 replies; 16+ messages in thread
From: agupta3 @ 2020-03-02  6:31 UTC (permalink / raw)
  To: Harman Kalra; +Cc: dev, stable, Amit Gupta

From: Amit Gupta <agupta3@marvell.com>

Add a additional condition to check if all required internal 
dependencies are met before building octeontx drivers using meson.

Bugzilla ID: 387

Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")

Signed-off-by: Amit Gupta <agupta3@marvell.com>
---
v2:
 - rebased to v20.02
 - upstream comments incorporated.

 drivers/net/octeontx/base/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
index a06a2c8..035aeda 100644
--- a/drivers/net/octeontx/base/meson.build
+++ b/drivers/net/octeontx/base/meson.build
@@ -10,7 +10,11 @@ sources = [
 depends = ['ethdev', 'mempool_octeontx']
 static_objs = []
 foreach d: depends
-	static_objs += [get_variable('static_rte_' + d)]
+	test_dep_obj = '@0@'.format(get_variable('static_rte_' + d, ''))
+	if test_dep_obj == ''
+		subdir_done()
+	endif
+	static_objs += get_variable('static_rte_' + d)
 endforeach
 
 c_args = cflags
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-02  6:31 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers agupta3
@ 2020-03-02 10:53   ` Bruce Richardson
  2020-03-03  3:10     ` [dpdk-dev] [EXT] " Amit Gupta
  2020-03-04  5:47   ` [dpdk-dev] [PATCH v3 " agupta3
  1 sibling, 1 reply; 16+ messages in thread
From: Bruce Richardson @ 2020-03-02 10:53 UTC (permalink / raw)
  To: agupta3; +Cc: Harman Kalra, dev, stable

On Mon, Mar 02, 2020 at 12:01:55PM +0530, agupta3@marvell.com wrote:
> From: Amit Gupta <agupta3@marvell.com>
> 
> Add a additional condition to check if all required internal 
> dependencies are met before building octeontx drivers using meson.
> 
> Bugzilla ID: 387
> 
> Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")
> 
> Signed-off-by: Amit Gupta <agupta3@marvell.com>
> ---
> v2:
>  - rebased to v20.02
>  - upstream comments incorporated.
> 
>  drivers/net/octeontx/base/meson.build | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
> index a06a2c8..035aeda 100644
> --- a/drivers/net/octeontx/base/meson.build
> +++ b/drivers/net/octeontx/base/meson.build
> @@ -10,7 +10,11 @@ sources = [
>  depends = ['ethdev', 'mempool_octeontx']
>  static_objs = []
>  foreach d: depends
> -	static_objs += [get_variable('static_rte_' + d)]
> +	test_dep_obj = '@0@'.format(get_variable('static_rte_' + d, ''))
> +	if test_dep_obj == ''
> +		subdir_done()
> +	endif
> +	static_objs += get_variable('static_rte_' + d)
>  endforeach

very minor nit - you can use "test_dep_obj" here rather than calling
get_variable twice.

/Bruce

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-02 10:53   ` Bruce Richardson
@ 2020-03-03  3:10     ` Amit Gupta
  2020-03-03 11:17       ` Bruce Richardson
  0 siblings, 1 reply; 16+ messages in thread
From: Amit Gupta @ 2020-03-03  3:10 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Harman Kalra, dev, stable

test_dep_obj is being formatted as string object, so can't be used as static obj..


Amit

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Monday, March 2, 2020 4:23 PM
> To: Amit Gupta <agupta3@marvell.com>
> Cc: Harman Kalra <hkalra@marvell.com>; dev@dpdk.org; stable@dpdk.org
> Subject: [EXT] Re: [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build
> for disabled octeontx drivers
> 
> External Email
> 
> ----------------------------------------------------------------------
> On Mon, Mar 02, 2020 at 12:01:55PM +0530, agupta3@marvell.com wrote:
> > From: Amit Gupta <agupta3@marvell.com>
> >
> > Add a additional condition to check if all required internal
> > dependencies are met before building octeontx drivers using meson.
> >
> > Bugzilla ID: 387
> >
> > Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")
> >
> > Signed-off-by: Amit Gupta <agupta3@marvell.com>
> > ---
> > v2:
> >  - rebased to v20.02
> >  - upstream comments incorporated.
> >
> >  drivers/net/octeontx/base/meson.build | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/octeontx/base/meson.build
> > b/drivers/net/octeontx/base/meson.build
> > index a06a2c8..035aeda 100644
> > --- a/drivers/net/octeontx/base/meson.build
> > +++ b/drivers/net/octeontx/base/meson.build
> > @@ -10,7 +10,11 @@ sources = [
> >  depends = ['ethdev', 'mempool_octeontx']  static_objs = []  foreach
> > d: depends
> > -	static_objs += [get_variable('static_rte_' + d)]
> > +	test_dep_obj = '@0@'.format(get_variable('static_rte_' + d, ''))
> > +	if test_dep_obj == ''
> > +		subdir_done()
> > +	endif
> > +	static_objs += get_variable('static_rte_' + d)
> >  endforeach
> 
> very minor nit - you can use "test_dep_obj" here rather than calling
> get_variable twice.
> 
> /Bruce

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-03  3:10     ` [dpdk-dev] [EXT] " Amit Gupta
@ 2020-03-03 11:17       ` Bruce Richardson
  2020-03-04  5:47         ` Amit Gupta
  0 siblings, 1 reply; 16+ messages in thread
From: Bruce Richardson @ 2020-03-03 11:17 UTC (permalink / raw)
  To: Amit Gupta; +Cc: Harman Kalra, dev, stable

On Tue, Mar 03, 2020 at 03:10:56AM +0000, Amit Gupta wrote:
> 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > Sent: Monday, March 2, 2020 4:23 PM
> > To: Amit Gupta <agupta3@marvell.com>
> > Cc: Harman Kalra <hkalra@marvell.com>; dev@dpdk.org; stable@dpdk.org
> > Subject: [EXT] Re: [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build
> > for disabled octeontx drivers
> > 
> > External Email
> > 
> > ----------------------------------------------------------------------
> > On Mon, Mar 02, 2020 at 12:01:55PM +0530, agupta3@marvell.com wrote:
> > > From: Amit Gupta <agupta3@marvell.com>
> > >
> > > Add a additional condition to check if all required internal
> > > dependencies are met before building octeontx drivers using meson.
> > >
> > > Bugzilla ID: 387
> > >
> > > Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")
> > >
> > > Signed-off-by: Amit Gupta <agupta3@marvell.com>
> > > ---
> > > v2:
> > >  - rebased to v20.02
> > >  - upstream comments incorporated.
> > >
> > >  drivers/net/octeontx/base/meson.build | 6 +++++-
> > >  1 file changed, 5 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/net/octeontx/base/meson.build
> > > b/drivers/net/octeontx/base/meson.build
> > > index a06a2c8..035aeda 100644
> > > --- a/drivers/net/octeontx/base/meson.build
> > > +++ b/drivers/net/octeontx/base/meson.build
> > > @@ -10,7 +10,11 @@ sources = [
> > >  depends = ['ethdev', 'mempool_octeontx']  static_objs = []  foreach
> > > d: depends
> > > -	static_objs += [get_variable('static_rte_' + d)]
> > > +	test_dep_obj = '@0@'.format(get_variable('static_rte_' + d, ''))
> > > +	if test_dep_obj == ''
> > > +		subdir_done()
> > > +	endif
> > > +	static_objs += get_variable('static_rte_' + d)
> > >  endforeach
> > 
> > very minor nit - you can use "test_dep_obj" here rather than calling
> > get_variable twice.
> > 
> test_dep_obj is being formatted as string object, so can't be used as static obj..

Apologies, you are quite right, I missed that.

One final suggestion - the "is_variable" function is probably want you want
rather than using get_variable with a fallback. It should save the use of a
temporary variable completely.

/Bruce

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [dpdk-dev] [PATCH v3 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-02  6:31 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers agupta3
  2020-03-02 10:53   ` Bruce Richardson
@ 2020-03-04  5:47   ` agupta3
  2020-03-04 13:49     ` Bruce Richardson
  2020-04-06 10:03     ` Harman Kalra
  1 sibling, 2 replies; 16+ messages in thread
From: agupta3 @ 2020-03-04  5:47 UTC (permalink / raw)
  To: Harman Kalra; +Cc: dev, stable, Amit Gupta

From: Amit Gupta <agupta3@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: 387

Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")

Signed-off-by: Amit Gupta <agupta3@marvell.com>
---
 drivers/net/octeontx/base/meson.build | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
index a06a2c8..e1060fc 100644
--- a/drivers/net/octeontx/base/meson.build
+++ b/drivers/net/octeontx/base/meson.build
@@ -10,7 +10,10 @@ sources = [
 depends = ['ethdev', 'mempool_octeontx']
 static_objs = []
 foreach d: depends
-	static_objs += [get_variable('static_rte_' + d)]
+	if not is_variable('shared_rte_' + d)
+		subdir_done()
+	endif
+	static_objs += get_variable('static_rte_' + d)
 endforeach
 
 c_args = cflags
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-03 11:17       ` Bruce Richardson
@ 2020-03-04  5:47         ` Amit Gupta
  0 siblings, 0 replies; 16+ messages in thread
From: Amit Gupta @ 2020-03-04  5:47 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Harman Kalra, dev, stable

ACK

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Tuesday, March 3, 2020 4:47 PM
> To: Amit Gupta <agupta3@marvell.com>
> Cc: Harman Kalra <hkalra@marvell.com>; dev@dpdk.org; stable@dpdk.org
> Subject: Re: [EXT] Re: [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson
> build for disabled octeontx drivers
> 
> On Tue, Mar 03, 2020 at 03:10:56AM +0000, Amit Gupta wrote:
> >
> > > -----Original Message-----
> > > From: Bruce Richardson <bruce.richardson@intel.com>
> > > Sent: Monday, March 2, 2020 4:23 PM
> > > To: Amit Gupta <agupta3@marvell.com>
> > > Cc: Harman Kalra <hkalra@marvell.com>; dev@dpdk.org;
> stable@dpdk.org
> > > Subject: [EXT] Re: [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson
> > > build for disabled octeontx drivers
> > >
> > > External Email
> > >
> > > --------------------------------------------------------------------
> > > -- On Mon, Mar 02, 2020 at 12:01:55PM +0530, agupta3@marvell.com
> > > wrote:
> > > > From: Amit Gupta <agupta3@marvell.com>
> > > >
> > > > Add a additional condition to check if all required internal
> > > > dependencies are met before building octeontx drivers using meson.
> > > >
> > > > Bugzilla ID: 387
> > > >
> > > > Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with
> > > > meson")
> > > >
> > > > Signed-off-by: Amit Gupta <agupta3@marvell.com>
> > > > ---
> > > > v2:
> > > >  - rebased to v20.02
> > > >  - upstream comments incorporated.
> > > >
> > > >  drivers/net/octeontx/base/meson.build | 6 +++++-
> > > >  1 file changed, 5 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/net/octeontx/base/meson.build
> > > > b/drivers/net/octeontx/base/meson.build
> > > > index a06a2c8..035aeda 100644
> > > > --- a/drivers/net/octeontx/base/meson.build
> > > > +++ b/drivers/net/octeontx/base/meson.build
> > > > @@ -10,7 +10,11 @@ sources = [
> > > >  depends = ['ethdev', 'mempool_octeontx']  static_objs = []
> > > > foreach
> > > > d: depends
> > > > -	static_objs += [get_variable('static_rte_' + d)]
> > > > +	test_dep_obj = '@0@'.format(get_variable('static_rte_' + d, ''))
> > > > +	if test_dep_obj == ''
> > > > +		subdir_done()
> > > > +	endif
> > > > +	static_objs += get_variable('static_rte_' + d)
> > > >  endforeach
> > >
> > > very minor nit - you can use "test_dep_obj" here rather than calling
> > > get_variable twice.
> > >
> > test_dep_obj is being formatted as string object, so can't be used as static
> obj..
> 
> Apologies, you are quite right, I missed that.
> 
> One final suggestion - the "is_variable" function is probably want you want
> rather than using get_variable with a fallback. It should save the use of a
> temporary variable completely.
> 
> /Bruce

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-04  5:47   ` [dpdk-dev] [PATCH v3 " agupta3
@ 2020-03-04 13:49     ` Bruce Richardson
  2020-04-05 11:57       ` Jerin Jacob
  2020-04-06 10:03     ` Harman Kalra
  1 sibling, 1 reply; 16+ messages in thread
From: Bruce Richardson @ 2020-03-04 13:49 UTC (permalink / raw)
  To: agupta3; +Cc: Harman Kalra, dev, stable

On Wed, Mar 04, 2020 at 11:17:04AM +0530, agupta3@marvell.com wrote:
> From: Amit Gupta <agupta3@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: 387
> 
> Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")
> 
> Signed-off-by: Amit Gupta <agupta3@marvell.com>

Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-04 13:49     ` Bruce Richardson
@ 2020-04-05 11:57       ` Jerin Jacob
  0 siblings, 0 replies; 16+ messages in thread
From: Jerin Jacob @ 2020-04-05 11:57 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: agupta3, Harman Kalra, dpdk-dev, dpdk stable

On Wed, Mar 4, 2020 at 7:19 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Wed, Mar 04, 2020 at 11:17:04AM +0530, agupta3@marvell.com wrote:
> > From: Amit Gupta <agupta3@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: 387
> >
> > Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")
> >
> > Signed-off-by: Amit Gupta <agupta3@marvell.com>
>
> Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>

Applied to dpdk-next-net-mrvl/master. Thanks

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] net/octeontx: fix meson build for disabled octeontx drivers
  2020-03-04  5:47   ` [dpdk-dev] [PATCH v3 " agupta3
  2020-03-04 13:49     ` Bruce Richardson
@ 2020-04-06 10:03     ` Harman Kalra
  1 sibling, 0 replies; 16+ messages in thread
From: Harman Kalra @ 2020-04-06 10:03 UTC (permalink / raw)
  To: agupta3; +Cc: dev, stable

On Wed, Mar 04, 2020 at 11:17:04AM +0530, agupta3@marvell.com wrote:
> From: Amit Gupta <agupta3@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: 387
> 
> Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")
> 
> Signed-off-by: Amit Gupta <agupta3@marvell.com>

Acked-by: Harman Kalra <hkalra@marvell.com>

> ---
>  drivers/net/octeontx/base/meson.build | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
> index a06a2c8..e1060fc 100644
> --- a/drivers/net/octeontx/base/meson.build
> +++ b/drivers/net/octeontx/base/meson.build
> @@ -10,7 +10,10 @@ sources = [
>  depends = ['ethdev', 'mempool_octeontx']
>  static_objs = []
>  foreach d: depends
> -	static_objs += [get_variable('static_rte_' + d)]
> +	if not is_variable('shared_rte_' + d)
> +		subdir_done()
> +	endif
> +	static_objs += get_variable('static_rte_' + d)
>  endforeach
>  
>  c_args = cflags
> -- 
> 1.8.3.1
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled
  2020-02-17  7:40 [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled agupta3
@ 2020-04-06  9:56 ` Harman Kalra
  0 siblings, 0 replies; 16+ messages in thread
From: Harman Kalra @ 2020-04-06  9:56 UTC (permalink / raw)
  To: agupta3; +Cc: dev

On Mon, Feb 17, 2020 at 01:10:29PM +0530, agupta3@marvell.com wrote:
> From: Amit Gupta <agupta3@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
> 
> Change-Id: Idf9578fc04345e690ac48b4836faff2e25170331
> Signed-off-by: Amit Gupta <agupta3@marvell.com>

Acked-by: Harman Kalra <hkalra@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
> -- 
> 1.8.3.1
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled
@ 2020-02-17  7:40 agupta3
  2020-04-06  9:56 ` Harman Kalra
  0 siblings, 1 reply; 16+ messages in thread
From: agupta3 @ 2020-02-17  7:40 UTC (permalink / raw)
  To: Harman Kalra; +Cc: dev, Amit Gupta

From: Amit Gupta <agupta3@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

Change-Id: Idf9578fc04345e690ac48b4836faff2e25170331
Signed-off-by: Amit Gupta <agupta3@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
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-04-06 10:04 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-17  7:47 [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled agupta3
2020-02-17  9:54 ` David Marchand
2020-02-19  4:34   ` [dpdk-dev] [EXT] " Amit Gupta
2020-02-17 10:48 ` [dpdk-dev] " Bruce Richardson
2020-02-19  4:32   ` [dpdk-dev] [EXT] " Amit Gupta
2020-03-02  6:31 ` [dpdk-dev] [PATCH v2 1/1] net/octeontx: fix meson build for disabled octeontx drivers agupta3
2020-03-02 10:53   ` Bruce Richardson
2020-03-03  3:10     ` [dpdk-dev] [EXT] " Amit Gupta
2020-03-03 11:17       ` Bruce Richardson
2020-03-04  5:47         ` Amit Gupta
2020-03-04  5:47   ` [dpdk-dev] [PATCH v3 " agupta3
2020-03-04 13:49     ` Bruce Richardson
2020-04-05 11:57       ` Jerin Jacob
2020-04-06 10:03     ` Harman Kalra
  -- strict thread matches above, loose matches on Subject: below --
2020-02-17  7:40 [dpdk-dev] [PATCH] net/octeontx: meson build fix if octeontx drivers are disabled agupta3
2020-04-06  9:56 ` Harman Kalra

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git