[dpdk-dev] [PATCH v2 2/5] build: fix dependency on execinfo for BSD meson builds

Bruce Richardson bruce.richardson at intel.com
Thu Feb 1 15:20:08 CET 2018


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 at intel.com>
---
 app/test-eventdev/meson.build | 1 +
 app/test-pmd/meson.build      | 1 +
 examples/meson.build          | 3 ++-
 test/test/meson.build         | 1 +
 4 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
index 7fb3a280a..7c373c87b 100644
--- a/app/test-eventdev/meson.build
+++ b/app/test-eventdev/meson.build
@@ -13,6 +13,7 @@ sources = files('evt_main.c',
 		'test_perf_queue.c')
 
 dep_objs = [get_variable(get_option('default_library') + '_rte_eventdev')]
+dep_objs += cc.find_library('execinfo', required: false) # BSD only
 
 link_libs = []
 if get_option('default_library') == 'static'
diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build
index 9964dae75..7ed74db2b 100644
--- a/app/test-pmd/meson.build
+++ b/app/test-pmd/meson.build
@@ -37,6 +37,7 @@ 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'
diff --git a/examples/meson.build b/examples/meson.build
index 5658fbe04..2c6b3f889 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -6,12 +6,13 @@ if get_option('default_library') == 'static'
 	driver_libs = dpdk_drivers
 endif
 
+execinfo = cc.find_library('execinfo', required: false)
 foreach example: get_option('examples').split(',')
 	name = example
 	sources = []
 	allow_experimental_apis = false
 	cflags = machine_args
-	ext_deps = []
+	ext_deps = [execinfo]
 	includes = [include_directories(example)]
 	deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
 	subdir(example)
diff --git a/test/test/meson.build b/test/test/meson.build
index d5b768b9d..2457a2adb 100644
--- a/test/test/meson.build
+++ b/test/test/meson.build
@@ -234,6 +234,7 @@ foreach d:test_deps
 	def_lib = get_option('default_library')
 	test_dep_objs += get_variable(def_lib + '_rte_' + d)
 endforeach
+test_dep_objs += cc.find_library('execinfo', required: false)
 
 link_libs = []
 if get_option('default_library') == 'static'
-- 
2.14.1



More information about the dev mailing list