From 57ae0ec6262076788b8b9acd4ed1527c3655f9a9 Mon Sep 17 00:00:00 2001 From: Kevin Laatz Date: Sat, 27 Oct 2018 10:17:50 +0100 Subject: [PATCH] build: add dependency on telemetry to apps with meson 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 Signed-off-by: Kevin Laatz Signed-off-by: Radu Nicolau Acked-by: Harry van Haaren --- 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 e68d949e9a..a9a026bbfd 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 988cb4eb2c..116c27f02c 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 9c148e36ef..a52b2ee4a1 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 653907ded9..eb8cc04993 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 eacd7a0f5f..d735b186f9 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 cd66618e94..6006c60f99 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 6f9228c874..275f00b60d 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 b3bbf5bd02..9492f544ef 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 9d1f353d29..c0cc2d86ee 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 c9af33532d..b1e6eab6ab 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.20.1