patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig
       [not found] <20190812230358.988-1-thomas@monjalon.net>
@ 2019-08-12 23:03 ` Thomas Monjalon
  2019-08-13  9:37   ` Luca Boccassi
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
  2 siblings, 1 reply; 8+ messages in thread
From: Thomas Monjalon @ 2019-08-12 23:03 UTC (permalink / raw)
  To: bruce.richardson, Lee Daly, Fiona Trahe, Pablo de Lara,
	Ashish Gupta, Xiaolong Ye, Qi Zhang
  Cc: dev, bluca, stable

As explained in drivers/meson.build,
"
  For the find_library() case (but not with dependency()) we also
  need to specify the "-l" flags in pkgconfig_extra_libs variable
  too, so that it can be reflected in the pkgconfig output for
  static builds.
"

The commit e30b4e566f47 ("build: improve dependency handling")
must be followed up with this one in order to remove more
occurences of pkgconfig_extra_libs redundant with use of dependency().

Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
Cc: xiaolong.ye@intel.com
Fixes: 3c32e89f68e1 ("compress/isal: add skeleton ISA-L compression PMD")
Cc: lee.daly@intel.com
Cc: bluca@debian.org
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/compress/isal/meson.build | 1 -
 drivers/net/af_xdp/meson.build    | 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/compress/isal/meson.build b/drivers/compress/isal/meson.build
index 67b5c4aae..25578880d 100644
--- a/drivers/compress/isal/meson.build
+++ b/drivers/compress/isal/meson.build
@@ -10,6 +10,5 @@ endif
 deps += 'bus_vdev'
 sources = files('isal_compress_pmd.c', 'isal_compress_pmd_ops.c')
 ext_deps += dep
-pkgconfig_extra_libs += '-lisal'
 
 allow_experimental_apis = true
diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build
index ac679b92b..307aa0e38 100644
--- a/drivers/net/af_xdp/meson.build
+++ b/drivers/net/af_xdp/meson.build
@@ -10,7 +10,6 @@ endif
 
 if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xdp.h')
 	ext_deps += bpf_dep
-	pkgconfig_extra_libs += '-lbpf'
 else
 	build = false
 	reason = 'missing dependency, "libbpf"'
-- 
2.22.0


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

* [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path
       [not found] <20190812230358.988-1-thomas@monjalon.net>
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig Thomas Monjalon
@ 2019-08-12 23:03 ` Thomas Monjalon
  2019-08-13  9:38   ` Luca Boccassi
  2019-08-14  8:39   ` Matan Azrad
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
  2 siblings, 2 replies; 8+ messages in thread
From: Thomas Monjalon @ 2019-08-12 23:03 UTC (permalink / raw)
  To: bruce.richardson, Matan Azrad, Shahaf Shuler, Yongseok Koh,
	Viacheslav Ovsiienko
  Cc: dev, stable, Luca Boccassi

If rdma-core is not installed in a standard directory of the system,
it is possible to specify the location of the pkgconfig file via
an environment variable:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:~/rdma-core/build/lib/pkgconfig

In this case, the dependency may become mandatory to specify
for the configuration tests (checking dependency symbols or fields).

Some spacing is also fixed around.

Fixes: 8e4937640022 ("net/mlx4: add external allocator for Verbs object")
Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
Cc: stable@dpdk.org

Suggested-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/net/mlx4/meson.build | 9 +++++----
 drivers/net/mlx5/meson.build | 7 ++++---
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
index 028cd97fa..efee45776 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -76,7 +76,7 @@ if build
 	# mlx4_autoconf.h file is still generated.
 	# input array for meson member search:
 	# [ "MACRO to define if found", "header for the search",
-	#   "symbol to search","struct member to search" ]
+	#   "symbol to search", "struct member to search" ]
 	#
 	has_member_args = [
 		[ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h',
@@ -93,12 +93,13 @@ if build
 	]
 	config = configuration_data()
 	foreach arg:has_sym_args
-		config.set(arg[0], cc.has_header_symbol(arg[1], arg[2]))
+		config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
+			dependencies: libs))
 	endforeach
 	foreach arg:has_member_args
-		file_prefix = '#include<' + arg[1] + '>'
+		file_prefix = '#include <' + arg[1] + '>'
 		config.set(arg[0], cc.has_member(arg[2], arg[3],
-			prefix : file_prefix))
+			prefix: file_prefix, dependencies: libs))
 	endforeach
 	configure_file(output : 'mlx4_autoconf.h', configuration : config)
 endif
diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
index 62b41caf1..3c5144c9b 100644
--- a/drivers/net/mlx5/meson.build
+++ b/drivers/net/mlx5/meson.build
@@ -177,12 +177,13 @@ if build
 	]
 	config = configuration_data()
 	foreach arg:has_sym_args
-		config.set(arg[0], cc.has_header_symbol(arg[1], arg[2]))
+		config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
+			dependencies: libs))
 	endforeach
 	foreach arg:has_member_args
-		file_prefix = '#include<' + arg[1] + '>'
+		file_prefix = '#include <' + arg[1] + '>'
 		config.set(arg[0], cc.has_member(arg[2], arg[3],
-			prefix : file_prefix))
+			prefix : file_prefix, dependencies: libs))
 	endforeach
 	configure_file(output : 'mlx5_autoconf.h', configuration : config)
 endif
-- 
2.22.0


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

* [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc
       [not found] <20190812230358.988-1-thomas@monjalon.net>
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig Thomas Monjalon
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
@ 2019-08-12 23:03 ` Thomas Monjalon
  2019-08-13  9:39   ` Luca Boccassi
  2019-08-14 10:19   ` Matan Azrad
  2 siblings, 2 replies; 8+ messages in thread
From: Thomas Monjalon @ 2019-08-12 23:03 UTC (permalink / raw)
  To: bruce.richardson, Matan Azrad, Shahaf Shuler, Yongseok Koh,
	Viacheslav Ovsiienko
  Cc: dev, adrien.mazarguil, stable

With VERBOSE=1, this error was seen in debug mode with gcc 9.1:

In file included from /tmp/dpdk.auto-config-h.sh.c.w0VWMi:1:
In file included from rdma-core/build/include/infiniband/mlx5dv.h:47:
In file included from rdma-core/build/include/infiniband/verbs.h:46:
In file included from rdma-core/build/include/infiniband/verbs_api.h:66:
In file included from rdma-core/build/include/infiniband/ib_user_ioctl_verbs.h:38:
include/rdma/ib_user_verbs.h:161:28: fatal error:
zero size arrays are an extension [-Wzero-length-array]
__aligned_u64 driver_data0;
^
1 error generated.

As a result, buildtools/auto-config-h.sh was not generating
a correct autoconf file, so the compilation was generating such error:

fatal error: redefinition of 'mlx5_ib_uapi_flow_action_packet_reformat_type'

It is fixed by disabling -pedantic option when calling auto-config-h.sh
from the makefile-based system.

Cc: adrien.mazarguil@6wind.com
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/net/mlx4/Makefile | 3 ++-
 drivers/net/mlx5/Makefile | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 8126b0dfc..25d7c7555 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -68,6 +68,7 @@ endif
 # User-defined CFLAGS.
 ifeq ($(CONFIG_RTE_LIBRTE_MLX4_DEBUG),y)
 CFLAGS += -pedantic -UNDEBUG -DPEDANTIC
+AUTO_CONFIG_CFLAGS += -Wno-pedantic
 else
 CFLAGS += -DNDEBUG -UPEDANTIC
 endif
@@ -77,7 +78,7 @@ include $(RTE_SDK)/mk/rte.lib.mk
 # Generate and clean-up mlx4_autoconf.h.
 
 export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
+export AUTO_CONFIG_CFLAGS += -Wno-error
 
 ifndef V
 AUTOCONF_OUTPUT := >/dev/null
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index dbb2a4e80..299cf3afe 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -83,6 +83,7 @@ endif
 # User-defined CFLAGS.
 ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
 CFLAGS += -pedantic -UNDEBUG -DPEDANTIC
+AUTO_CONFIG_CFLAGS += -Wno-pedantic
 else
 CFLAGS += -DNDEBUG -UPEDANTIC
 endif
@@ -92,7 +93,7 @@ include $(RTE_SDK)/mk/rte.lib.mk
 # Generate and clean-up mlx5_autoconf.h.
 
 export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
+export AUTO_CONFIG_CFLAGS += -Wno-error
 
 ifndef V
 AUTOCONF_OUTPUT := >/dev/null
-- 
2.22.0


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

* Re: [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig Thomas Monjalon
@ 2019-08-13  9:37   ` Luca Boccassi
  0 siblings, 0 replies; 8+ messages in thread
From: Luca Boccassi @ 2019-08-13  9:37 UTC (permalink / raw)
  To: Thomas Monjalon, bruce.richardson, Lee Daly, Fiona Trahe,
	Pablo de Lara, Ashish Gupta, Xiaolong Ye, Qi Zhang
  Cc: dev, stable

On Tue, 2019-08-13 at 01:03 +0200, Thomas Monjalon wrote:
> As explained in drivers/meson.build,
> "
>   For the find_library() case (but not with dependency()) we also
>   need to specify the "-l" flags in pkgconfig_extra_libs variable
>   too, so that it can be reflected in the pkgconfig output for
>   static builds.
> "
> 
> The commit e30b4e566f47 ("build: improve dependency handling")
> must be followed up with this one in order to remove more
> occurences of pkgconfig_extra_libs redundant with use of
> dependency().
> 
> Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
> Cc: 
> xiaolong.ye@intel.com
> 
> Fixes: 3c32e89f68e1 ("compress/isal: add skeleton ISA-L compression
> PMD")
> Cc: 
> lee.daly@intel.com
> 
> Cc: 
> bluca@debian.org
> 
> Cc: 
> stable@dpdk.org
> 
> 
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net
> >
> ---
>  drivers/compress/isal/meson.build | 1 -
>  drivers/net/af_xdp/meson.build    | 1 -
>  2 files changed, 2 deletions(-)
> 
> diff --git a/drivers/compress/isal/meson.build
> b/drivers/compress/isal/meson.build
> index 67b5c4aae..25578880d 100644
> --- a/drivers/compress/isal/meson.build
> +++ b/drivers/compress/isal/meson.build
> @@ -10,6 +10,5 @@ endif
>  deps += 'bus_vdev'
>  sources = files('isal_compress_pmd.c', 'isal_compress_pmd_ops.c')
>  ext_deps += dep
> -pkgconfig_extra_libs += '-lisal'
>  
>  allow_experimental_apis = true
> diff --git a/drivers/net/af_xdp/meson.build
> b/drivers/net/af_xdp/meson.build
> index ac679b92b..307aa0e38 100644
> --- a/drivers/net/af_xdp/meson.build
> +++ b/drivers/net/af_xdp/meson.build
> @@ -10,7 +10,6 @@ endif
>  
>  if bpf_dep.found() and cc.has_header('bpf/xsk.h') and
> cc.has_header('linux/if_xdp.h')
>  	ext_deps += bpf_dep
> -	pkgconfig_extra_libs += '-lbpf'
>  else
>  	build = false
>  	reason = 'missing dependency, "libbpf"'
> 

Acked-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
@ 2019-08-13  9:38   ` Luca Boccassi
  2019-08-14  8:39   ` Matan Azrad
  1 sibling, 0 replies; 8+ messages in thread
From: Luca Boccassi @ 2019-08-13  9:38 UTC (permalink / raw)
  To: Thomas Monjalon, bruce.richardson, Matan Azrad, Shahaf Shuler,
	Yongseok Koh, Viacheslav Ovsiienko
  Cc: dev, stable

On Tue, 2019-08-13 at 01:03 +0200, Thomas Monjalon wrote:
> If rdma-core is not installed in a standard directory of the system,
> it is possible to specify the location of the pkgconfig file via
> an environment variable:
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:~/rdma-core/build/lib/pkgconfig
> 
> In this case, the dependency may become mandatory to specify
> for the configuration tests (checking dependency symbols or fields).
> 
> Some spacing is also fixed around.
> 
> Fixes: 8e4937640022 ("net/mlx4: add external allocator for Verbs
> object")
> Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
> Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
> Cc: 
> stable@dpdk.org
> 
> 
> Suggested-by: Luca Boccassi <
> bluca@debian.org
> >
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net
> >
> ---
>  drivers/net/mlx4/meson.build | 9 +++++----
>  drivers/net/mlx5/meson.build | 7 ++++---
>  2 files changed, 9 insertions(+), 7 deletions(-)

Acked-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
@ 2019-08-13  9:39   ` Luca Boccassi
  2019-08-14 10:19   ` Matan Azrad
  1 sibling, 0 replies; 8+ messages in thread
From: Luca Boccassi @ 2019-08-13  9:39 UTC (permalink / raw)
  To: Thomas Monjalon, bruce.richardson, Matan Azrad, Shahaf Shuler,
	Yongseok Koh, Viacheslav Ovsiienko
  Cc: dev, adrien.mazarguil, stable

On Tue, 2019-08-13 at 01:03 +0200, Thomas Monjalon wrote:
> With VERBOSE=1, this error was seen in debug mode with gcc 9.1:
> 
> In file included from /tmp/dpdk.auto-config-h.sh.c.w0VWMi:1:
> In file included from rdma-core/build/include/infiniband/mlx5dv.h:47:
> In file included from rdma-core/build/include/infiniband/verbs.h:46:
> In file included from rdma-
> core/build/include/infiniband/verbs_api.h:66:
> In file included from rdma-
> core/build/include/infiniband/ib_user_ioctl_verbs.h:38:
> include/rdma/ib_user_verbs.h:161:28: fatal error:
> zero size arrays are an extension [-Wzero-length-array]
> __aligned_u64 driver_data0;
> ^
> 1 error generated.
> 
> As a result, buildtools/auto-config-h.sh was not generating
> a correct autoconf file, so the compilation was generating such
> error:
> 
> fatal error: redefinition of
> 'mlx5_ib_uapi_flow_action_packet_reformat_type'
> 
> It is fixed by disabling -pedantic option when calling auto-config-
> h.sh
> from the makefile-based system.
> 
> Cc: 
> adrien.mazarguil@6wind.com
> 
> Cc: 
> stable@dpdk.org
> 
> 
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net
> >

Acked-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
  2019-08-13  9:38   ` Luca Boccassi
@ 2019-08-14  8:39   ` Matan Azrad
  1 sibling, 0 replies; 8+ messages in thread
From: Matan Azrad @ 2019-08-14  8:39 UTC (permalink / raw)
  To: Thomas Monjalon, bruce.richardson, Shahaf Shuler, Yongseok Koh,
	Slava Ovsiienko
  Cc: dev, stable, Luca Boccassi



From: Thomas Monjalon <thomas@monjalon.net>
> If rdma-core is not installed in a standard directory of the system, it is
> possible to specify the location of the pkgconfig file via an environment
> variable:
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:~/rdma-core/build/lib/pkgconfig
> 
> In this case, the dependency may become mandatory to specify for the
> configuration tests (checking dependency symbols or fields).
> 
> Some spacing is also fixed around.
> 
> Fixes: 8e4937640022 ("net/mlx4: add external allocator for Verbs object")
> Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
> Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
> Cc: stable@dpdk.org
> 
> Suggested-by: Luca Boccassi <bluca@debian.org>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@mellanox.com>

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

* Re: [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc
  2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
  2019-08-13  9:39   ` Luca Boccassi
@ 2019-08-14 10:19   ` Matan Azrad
  1 sibling, 0 replies; 8+ messages in thread
From: Matan Azrad @ 2019-08-14 10:19 UTC (permalink / raw)
  To: Thomas Monjalon, bruce.richardson, Shahaf Shuler, Yongseok Koh,
	Slava Ovsiienko
  Cc: dev, Adrien Mazarguil, stable

From: Thomas Monjalon <thomas@monjalon.net>
> With VERBOSE=1, this error was seen in debug mode with gcc 9.1:
> 
> In file included from /tmp/dpdk.auto-config-h.sh.c.w0VWMi:1:
> In file included from rdma-core/build/include/infiniband/mlx5dv.h:47:
> In file included from rdma-core/build/include/infiniband/verbs.h:46:
> In file included from rdma-core/build/include/infiniband/verbs_api.h:66:
> In file included from rdma-
> core/build/include/infiniband/ib_user_ioctl_verbs.h:38:
> include/rdma/ib_user_verbs.h:161:28: fatal error:
> zero size arrays are an extension [-Wzero-length-array]
> __aligned_u64 driver_data0;
> ^
> 1 error generated.
> 
> As a result, buildtools/auto-config-h.sh was not generating a correct
> autoconf file, so the compilation was generating such error:
> 
> fatal error: redefinition of
> 'mlx5_ib_uapi_flow_action_packet_reformat_type'
> 
> It is fixed by disabling -pedantic option when calling auto-config-h.sh from
> the makefile-based system.
> 
> Cc: adrien.mazarguil@6wind.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@mellanox.com>

Consider to create more patches to cleanup the compiler commands to ignore pedantic in the code.

Matan

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

end of thread, other threads:[~2019-08-14 10:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20190812230358.988-1-thomas@monjalon.net>
2019-08-12 23:03 ` [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig Thomas Monjalon
2019-08-13  9:37   ` Luca Boccassi
2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
2019-08-13  9:38   ` Luca Boccassi
2019-08-14  8:39   ` Matan Azrad
2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
2019-08-13  9:39   ` Luca Boccassi
2019-08-14 10:19   ` Matan Azrad

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).