[v2] build: remove special handling for node library

Message ID 20200702160911.3596412-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Headers
Series [v2] build: remove special handling for node library |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Thomas Monjalon July 2, 2020, 4:09 p.m. UTC
  The node library had a need of being linked as a whole
to make some constructors effective.
Now that all libraries are linked with --whole-archive,
there is no need to have this library separate.

Fixes: e2db26f76673 ("build: always link whole DPDK static libraries")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
v2: write real commit log
---
 app/test/meson.build | 4 +---
 examples/meson.build | 4 +---
 lib/meson.build      | 3 ---
 meson.build          | 1 -
 4 files changed, 2 insertions(+), 10 deletions(-)
  

Comments

Jerin Jacob July 4, 2020, 2:22 p.m. UTC | #1
On Thu, Jul 2, 2020 at 9:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The node library had a need of being linked as a whole
> to make some constructors effective.
> Now that all libraries are linked with --whole-archive,
> there is no need to have this library separate.
>
> Fixes: e2db26f76673 ("build: always link whole DPDK static libraries")
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Tested the change with: echo "node_list_dump" | sudo
./build/app/test/dpdk-test   -c 0x3

Tested-by: Jerin Jacob <jerinj@marvell.com>

> ---
> v2: write real commit log
> ---
>  app/test/meson.build | 4 +---
>  examples/meson.build | 4 +---
>  lib/meson.build      | 3 ---
>  meson.build          | 1 -
>  4 files changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/app/test/meson.build b/app/test/meson.build
> index b224d6f2bb..da5f39f018 100644
> --- a/app/test/meson.build
> +++ b/app/test/meson.build
> @@ -415,15 +415,13 @@ endforeach
>  test_dep_objs += cc.find_library('execinfo', required: false)
>
>  link_libs = []
> -link_nodes = []
>  if get_option('default_library') == 'static'
>         link_libs = dpdk_static_libraries + dpdk_drivers
> -       link_nodes = dpdk_graph_nodes
>  endif
>
>  dpdk_test = executable('dpdk-test',
>         test_sources,
> -       link_whole: link_libs + link_nodes,
> +       link_whole: link_libs,
>         dependencies: test_dep_objs,
>         c_args: cflags,
>         install_rpath: driver_install_path,
> diff --git a/examples/meson.build b/examples/meson.build
> index 120eebf716..eb13e82101 100644
> --- a/examples/meson.build
> +++ b/examples/meson.build
> @@ -2,10 +2,8 @@
>  # Copyright(c) 2017-2019 Intel Corporation
>
>  link_whole_libs = []
> -node_libs = []
>  if get_option('default_library') == 'static'
>         link_whole_libs = dpdk_static_libraries + dpdk_drivers
> -       node_libs = dpdk_graph_nodes
>  endif
>
>  execinfo = cc.find_library('execinfo', required: false)
> @@ -101,7 +99,7 @@ foreach example: examples
>                 endif
>                 executable('dpdk-' + name, sources,
>                         include_directories: includes,
> -                       link_whole: link_whole_libs + node_libs,
> +                       link_whole: link_whole_libs,
>                         link_args: dpdk_extra_ldflags,
>                         c_args: cflags,
>                         dependencies: dep_objs)
> diff --git a/lib/meson.build b/lib/meson.build
> index c1b9e1633f..8ca25172c3 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -202,9 +202,6 @@ foreach l:libraries
>
>                         dpdk_libraries = [shared_lib] + dpdk_libraries
>                         dpdk_static_libraries = [static_lib] + dpdk_static_libraries
> -                       if libname == 'rte_node'
> -                               dpdk_graph_nodes = [static_lib]
> -                       endif
>                 endif # sources.length() > 0
>
>                 set_variable('shared_rte_' + name, shared_dep)
> diff --git a/meson.build b/meson.build
> index d21adfd303..e8bb9c4c1e 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -16,7 +16,6 @@ cc = meson.get_compiler('c')
>  dpdk_conf = configuration_data()
>  dpdk_libraries = []
>  dpdk_static_libraries = []
> -dpdk_graph_nodes = []
>  dpdk_driver_classes = []
>  dpdk_drivers = []
>  dpdk_extra_ldflags = []
> --
> 2.26.2
>
  
Thomas Monjalon July 5, 2020, 10:50 a.m. UTC | #2
04/07/2020 16:22, Jerin Jacob:
> On Thu, Jul 2, 2020 at 9:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > The node library had a need of being linked as a whole
> > to make some constructors effective.
> > Now that all libraries are linked with --whole-archive,
> > there is no need to have this library separate.
> >
> > Fixes: e2db26f76673 ("build: always link whole DPDK static libraries")
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> Tested the change with: echo "node_list_dump" | sudo
> ./build/app/test/dpdk-test   -c 0x3
> 
> Tested-by: Jerin Jacob <jerinj@marvell.com>

Applied
  

Patch

diff --git a/app/test/meson.build b/app/test/meson.build
index b224d6f2bb..da5f39f018 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -415,15 +415,13 @@  endforeach
 test_dep_objs += cc.find_library('execinfo', required: false)
 
 link_libs = []
-link_nodes = []
 if get_option('default_library') == 'static'
 	link_libs = dpdk_static_libraries + dpdk_drivers
-	link_nodes = dpdk_graph_nodes
 endif
 
 dpdk_test = executable('dpdk-test',
 	test_sources,
-	link_whole: link_libs + link_nodes,
+	link_whole: link_libs,
 	dependencies: test_dep_objs,
 	c_args: cflags,
 	install_rpath: driver_install_path,
diff --git a/examples/meson.build b/examples/meson.build
index 120eebf716..eb13e82101 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -2,10 +2,8 @@ 
 # Copyright(c) 2017-2019 Intel Corporation
 
 link_whole_libs = []
-node_libs = []
 if get_option('default_library') == 'static'
 	link_whole_libs = dpdk_static_libraries + dpdk_drivers
-	node_libs = dpdk_graph_nodes
 endif
 
 execinfo = cc.find_library('execinfo', required: false)
@@ -101,7 +99,7 @@  foreach example: examples
 		endif
 		executable('dpdk-' + name, sources,
 			include_directories: includes,
-			link_whole: link_whole_libs + node_libs,
+			link_whole: link_whole_libs,
 			link_args: dpdk_extra_ldflags,
 			c_args: cflags,
 			dependencies: dep_objs)
diff --git a/lib/meson.build b/lib/meson.build
index c1b9e1633f..8ca25172c3 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -202,9 +202,6 @@  foreach l:libraries
 
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
-			if libname == 'rte_node'
-				dpdk_graph_nodes = [static_lib]
-			endif
 		endif # sources.length() > 0
 
 		set_variable('shared_rte_' + name, shared_dep)
diff --git a/meson.build b/meson.build
index d21adfd303..e8bb9c4c1e 100644
--- a/meson.build
+++ b/meson.build
@@ -16,7 +16,6 @@  cc = meson.get_compiler('c')
 dpdk_conf = configuration_data()
 dpdk_libraries = []
 dpdk_static_libraries = []
-dpdk_graph_nodes = []
 dpdk_driver_classes = []
 dpdk_drivers = []
 dpdk_extra_ldflags = []