# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2019 Intel Corporation
-if host_machine.system() == 'windows'
- subdir_done()
-endif
-
apps = [
- 'pdump',
- 'proc-info',
- 'test-acl',
- 'test-bbdev',
- 'test-cmdline',
- 'test-compress-perf',
- 'test-crypto-perf',
- 'test-eventdev',
- 'test-pipeline',
- 'test-pmd']
-
-# for BSD only
-lib_execinfo = cc.find_library('execinfo', required: false)
+ 'dumpcap',
+ 'pdump',
+ 'proc-info',
+ 'test-acl',
+ 'test-bbdev',
+ 'test-cmdline',
+ 'test-compress-perf',
+ 'test-crypto-perf',
+ 'test-eventdev',
+ 'test-fib',
+ 'test-flow-perf',
+ 'test-gpudev',
+ 'test-pipeline',
+ 'test-pmd',
+ 'test-regex',
+ 'test-sad',
+]
-default_cflags = machine_args
-
-# specify -D_GNU_SOURCE unconditionally
-default_cflags += '-D_GNU_SOURCE'
+default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API']
+default_ldflags = []
+if get_option('default_library') == 'static' and not is_windows
+ default_ldflags += ['-Wl,--export-dynamic']
+endif
foreach app:apps
- build = true
- name = app
- allow_experimental_apis = false
- sources = []
- includes = []
- cflags = default_cflags
- objs = [] # other object files to link against, used e.g. for
- # instruction-set optimized versions of code
+ build = true
+ name = app
+ sources = []
+ includes = []
+ cflags = default_cflags
+ ldflags = default_ldflags
+ objs = [] # other object files to link against, used e.g. for
+ # instruction-set optimized versions of code
- # use "deps" for internal DPDK dependencies, and "ext_deps" for
- # external package/library requirements
- ext_deps = []
- deps = dpdk_app_link_libraries
+ # use "deps" for internal DPDK dependencies, and "ext_deps" for
+ # external package/library requirements
+ ext_deps = []
+ deps = []
- subdir(name)
+ subdir(name)
- if build
- dep_objs = []
- foreach d:deps
- dep_objs += get_variable(get_option('default_library')
- + '_rte_' + d)
- endforeach
- dep_objs += lib_execinfo
+ if not build
+ continue
+ endif
- link_libs = []
- if get_option('default_library') == 'static'
- link_libs = dpdk_static_libraries + dpdk_drivers
- endif
+ dep_objs = []
+ foreach d:deps
+ dep_objs += get_variable(get_option('default_library') + '_rte_' + d)
+ endforeach
- if allow_experimental_apis
- cflags += '-DALLOW_EXPERIMENTAL_API'
- endif
+ link_libs = []
+ if get_option('default_library') == 'static'
+ link_libs = dpdk_static_libraries + dpdk_drivers
+ endif
- executable('dpdk-' + name,
- sources,
- c_args: cflags,
- link_whole: link_libs,
- dependencies: dep_objs,
- install_rpath: join_paths(get_option('prefix'),
- driver_install_path),
- install: true)
- endif
+ executable('dpdk-' + name,
+ sources,
+ c_args: cflags,
+ link_args: ldflags,
+ link_whole: link_libs,
+ dependencies: ext_deps + dep_objs,
+ include_directories: includes,
+ install_rpath: join_paths(get_option('prefix'), driver_install_path),
+ install: true)
endforeach
# special case the autotests