build: remove special handling for node library

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

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Thomas Monjalon July 1, 2020, 6:05 p.m. UTC
  What is the point of adding librte_node a second time separately?

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

Comments

Bruce Richardson July 2, 2020, 9:17 a.m. UTC | #1
On Wed, Jul 01, 2020 at 08:05:06PM +0200, Thomas Monjalon wrote:
> What is the point of adding librte_node a second time separately?
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---

I suspect that this is a hangover from when we did not explicitly
link_whole all DPDK libs.
  
Jerin Jacob July 2, 2020, 9:53 a.m. UTC | #2
On Thu, Jul 2, 2020 at 2:48 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Wed, Jul 01, 2020 at 08:05:06PM +0200, Thomas Monjalon wrote:
> > What is the point of adding librte_node a second time separately?
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
>
> I suspect that this is a hangover from when we did not explicitly
> link_whole all DPDK libs.

Yes. The constructor functions are not getting linked if there is NO
dependency from this library.
  
Thomas Monjalon July 2, 2020, 10:21 a.m. UTC | #3
02/07/2020 11:53, Jerin Jacob:
> On Thu, Jul 2, 2020 at 2:48 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > On Wed, Jul 01, 2020 at 08:05:06PM +0200, Thomas Monjalon wrote:
> > > What is the point of adding librte_node a second time separately?
> > >
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > ---
> >
> > I suspect that this is a hangover from when we did not explicitly
> > link_whole all DPDK libs.
> 
> Yes. The constructor functions are not getting linked if there is NO
> dependency from this library.

OK, so I can change the commit log to explain that it is not needed
anymore because we link whole, including register.
  

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 = []