The binaries and apps in DPDK all need to be linked against the execinfo library on FreeBSD so add this as a dependency in cases where it is found. It's available by default on BSD, but not at all on Linux Fixes: 16ade738fd0d ("app/testpmd: build with meson") Fixes: 89f0711f9ddf ("examples: build some samples with meson") Fixes: b5dc795a8a55 ("test: build app with meson as dpdk-test") Fixes: 2ff67267b049 ("app/eventdev: build with meson") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
54 lines
1.2 KiB
Meson
54 lines
1.2 KiB
Meson
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright(c) 2017 Intel Corporation
|
|
|
|
sources = files('cmdline.c',
|
|
'cmdline_flow.c',
|
|
'cmdline_mtr.c',
|
|
'cmdline_tm.c',
|
|
'config.c',
|
|
'csumonly.c',
|
|
'flowgen.c',
|
|
'icmpecho.c',
|
|
'ieee1588fwd.c',
|
|
'iofwd.c',
|
|
'macfwd.c',
|
|
'macswap.c',
|
|
'parameters.c',
|
|
'rxonly.c',
|
|
'testpmd.c',
|
|
'txonly.c')
|
|
|
|
deps = ['ethdev', 'gro', 'gso', 'cmdline', 'metrics', 'meter', 'bus_pci']
|
|
if dpdk_conf.has('RTE_LIBRTE_PDUMP')
|
|
deps += 'pdump'
|
|
endif
|
|
if dpdk_conf.has('RTE_LIBRTE_I40E_PMD')
|
|
deps += 'pmd_i40e'
|
|
endif
|
|
if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD')
|
|
deps += 'pmd_ixgbe'
|
|
endif
|
|
if dpdk_conf.has('RTE_LIBRTE_SOFTNIC_PMD')
|
|
sources += files('tm.c')
|
|
deps += 'pmd_softnic'
|
|
endif
|
|
|
|
dep_objs = []
|
|
foreach d:deps
|
|
dep_objs += get_variable(get_option('default_library') + '_rte_' + d)
|
|
endforeach
|
|
dep_objs += cc.find_library('execinfo', required: false) # for BSD only
|
|
|
|
link_libs = []
|
|
if get_option('default_library') == 'static'
|
|
link_libs = dpdk_drivers
|
|
endif
|
|
|
|
executable('dpdk-testpmd',
|
|
sources,
|
|
c_args: [machine_args, '-DALLOW_EXPERIMENTAL_API'],
|
|
link_whole: link_libs,
|
|
dependencies: dep_objs,
|
|
install_rpath: join_paths(get_option('prefix'), driver_install_path),
|
|
install: true)
|