[dpdk-dev] [PATCH v9 12/12] build: add dependency on telemetry to apps in meson

Harry van Haaren harry.van.haaren at intel.com
Sat Oct 27 01:59:33 CEST 2018


From: Kevin Laatz <kevin.laatz at intel.com>

This patch adds telemetry as a dependecy to all applications. Without these
changes, the --telemetry flag will not be recognised and applications will
fail to run if they want to enable telemetry.

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
Signed-off-by: Kevin Laatz <kevin.laatz at intel.com>
Signed-off-by: Radu Nicolau <radu.nicolau at intel.com>
Acked-by: Harry van Haaren <harry.van.haaren at intel.com>
---
 app/meson.build                  | 4 ++--
 app/pdump/meson.build            | 2 +-
 app/proc-info/meson.build        | 2 +-
 app/test-bbdev/meson.build       | 2 +-
 app/test-crypto-perf/meson.build | 2 +-
 app/test-pmd/meson.build         | 2 +-
 config/meson.build               | 3 +++
 lib/librte_telemetry/meson.build | 1 +
 lib/meson.build                  | 1 +
 meson.build                      | 2 ++
 10 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/app/meson.build b/app/meson.build
index e68d949e9..a9a026bbf 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -29,7 +29,7 @@ foreach app:apps
 	# use "deps" for internal DPDK dependencies, and "ext_deps" for
 	# external package/library requirements
 	ext_deps = []
-	deps = []
+	deps = dpdk_app_link_libraries
 
 	subdir(name)
 
@@ -43,7 +43,7 @@ foreach app:apps
 
 		link_libs = []
 		if get_option('default_library') == 'static'
-			link_libs = dpdk_drivers
+			link_libs = dpdk_static_libraries + dpdk_drivers
 		endif
 
 		if allow_experimental_apis
diff --git a/app/pdump/meson.build b/app/pdump/meson.build
index 988cb4eb2..116c27f02 100644
--- a/app/pdump/meson.build
+++ b/app/pdump/meson.build
@@ -3,4 +3,4 @@
 
 sources = files('main.c')
 allow_experimental_apis = true
-deps = ['ethdev', 'kvargs', 'pdump']
+deps += ['ethdev', 'kvargs', 'pdump']
diff --git a/app/proc-info/meson.build b/app/proc-info/meson.build
index 9c148e36e..a52b2ee4a 100644
--- a/app/proc-info/meson.build
+++ b/app/proc-info/meson.build
@@ -3,4 +3,4 @@
 
 sources = files('main.c')
 allow_experimental_apis = true
-deps = ['ethdev', 'metrics']
+deps += ['ethdev', 'metrics']
diff --git a/app/test-bbdev/meson.build b/app/test-bbdev/meson.build
index 653907ded..eb8cc0499 100644
--- a/app/test-bbdev/meson.build
+++ b/app/test-bbdev/meson.build
@@ -6,4 +6,4 @@ sources = files('main.c',
 		'test_bbdev_perf.c',
 		'test_bbdev_vector.c')
 allow_experimental_apis = true
-deps = ['bbdev', 'bus_vdev']
+deps += ['bbdev', 'bus_vdev']
diff --git a/app/test-crypto-perf/meson.build b/app/test-crypto-perf/meson.build
index eacd7a0f5..d735b186f 100644
--- a/app/test-crypto-perf/meson.build
+++ b/app/test-crypto-perf/meson.build
@@ -12,4 +12,4 @@ sources = files('cperf_ops.c',
 		'cperf_test_vectors.c',
 		'cperf_test_verify.c',
 		'main.c')
-deps = ['cryptodev']
+deps += ['cryptodev']
diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build
index cd66618e9..6006c60f9 100644
--- a/app/test-pmd/meson.build
+++ b/app/test-pmd/meson.build
@@ -24,7 +24,7 @@ sources = files('cmdline.c',
 	'txonly.c',
 	'util.c')
 
-deps = ['ethdev', 'gro', 'gso', 'cmdline', 'metrics', 'meter', 'bus_pci']
+deps += ['ethdev', 'gro', 'gso', 'cmdline', 'metrics', 'meter', 'bus_pci']
 if dpdk_conf.has('RTE_LIBRTE_PDUMP')
 	deps += 'pdump'
 endif
diff --git a/config/meson.build b/config/meson.build
index 6f9228c87..275f00b60 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -21,6 +21,9 @@ toolchain = cc.get_id()
 dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain)
 dpdk_conf.set('RTE_TOOLCHAIN_' + toolchain.to_upper(), 1)
 
+add_project_link_arguments('-Wl,--no-as-needed', language: 'c')
+dpdk_extra_ldflags += '-Wl,--no-as-needed'
+
 # use pthreads
 add_project_link_arguments('-pthread', language: 'c')
 dpdk_extra_ldflags += '-pthread'
diff --git a/lib/librte_telemetry/meson.build b/lib/librte_telemetry/meson.build
index b3bbf5bd0..9492f544e 100644
--- a/lib/librte_telemetry/meson.build
+++ b/lib/librte_telemetry/meson.build
@@ -9,6 +9,7 @@ cflags += '-DALLOW_EXPERIMENTAL_API'
 jansson = cc.find_library('jansson', required: false)
 if jansson.found()
 	ext_deps += jansson
+	dpdk_app_link_libraries += ['telemetry']
 else
 	build = false
 endif
diff --git a/lib/meson.build b/lib/meson.build
index 9d1f353d2..c0cc2d86e 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -132,6 +132,7 @@ foreach l:libraries
 					dependencies: shared_deps)
 
 			dpdk_libraries = [shared_lib] + dpdk_libraries
+			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
 
 		set_variable('shared_' + libname, shared_dep)
diff --git a/meson.build b/meson.build
index c9af33532..b1e6eab6a 100644
--- a/meson.build
+++ b/meson.build
@@ -12,8 +12,10 @@ project('DPDK', 'C',
 cc = meson.get_compiler('c')
 dpdk_conf = configuration_data()
 dpdk_libraries = []
+dpdk_static_libraries = []
 dpdk_drivers = []
 dpdk_extra_ldflags = []
+dpdk_app_link_libraries = []
 
 driver_install_path = join_paths(get_option('libdir'), 'dpdk/drivers')
 eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
-- 
2.17.1



More information about the dev mailing list