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 <bruce.richardson@intel.com>
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
This commit is contained in:
Kevin Laatz 2018-10-27 10:17:50 +01:00 committed by Thomas Monjalon
parent c8e76f5ac3
commit 57ae0ec626
10 changed files with 14 additions and 7 deletions

View File

@ -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

View File

@ -3,4 +3,4 @@
sources = files('main.c')
allow_experimental_apis = true
deps = ['ethdev', 'kvargs', 'pdump']
deps += ['ethdev', 'kvargs', 'pdump']

View File

@ -3,4 +3,4 @@
sources = files('main.c')
allow_experimental_apis = true
deps = ['ethdev', 'metrics']
deps += ['ethdev', 'metrics']

View File

@ -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']

View File

@ -12,4 +12,4 @@ sources = files('cperf_ops.c',
'cperf_test_vectors.c',
'cperf_test_verify.c',
'main.c')
deps = ['cryptodev']
deps += ['cryptodev']

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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)

View File

@ -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)