build: fix dependency on execinfo for BSD meson builds
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 1 Feb 2018 14:20:08 +0000 (14:20 +0000)
committerBruce Richardson <bruce.richardson@intel.com>
Fri, 2 Feb 2018 10:31:36 +0000 (11:31 +0100)
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>
app/test-eventdev/meson.build
app/test-pmd/meson.build
examples/meson.build
test/test/meson.build

index 7fb3a28..7c373c8 100644 (file)
@@ -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'
index 9964dae..7ed74db 100644 (file)
@@ -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'
index 5658fbe..2c6b3f8 100644 (file)
@@ -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)
index d5b768b..2457a2a 100644 (file)
@@ -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'