xref: /f-stack/dpdk/app/meson.build (revision ebf5cedb)
1# SPDX-License-Identifier: BSD-3-Clause
2# Copyright(c) 2017-2019 Intel Corporation
3
4if is_windows
5	subdir_done()
6endif
7
8apps = [
9	'pdump',
10	'proc-info',
11	'test-acl',
12	'test-bbdev',
13	'test-cmdline',
14	'test-compress-perf',
15	'test-crypto-perf',
16	'test-eventdev',
17	'test-pipeline',
18	'test-pmd',
19	'test-sad']
20
21# for BSD only
22lib_execinfo = cc.find_library('execinfo', required: false)
23
24default_cflags = machine_args
25
26foreach app:apps
27	build = true
28	name = app
29	allow_experimental_apis = false
30	sources = []
31	includes = []
32	cflags = default_cflags
33	objs = [] # other object files to link against, used e.g. for
34	          # instruction-set optimized versions of code
35
36	# use "deps" for internal DPDK dependencies, and "ext_deps" for
37	# external package/library requirements
38	ext_deps = []
39	deps = dpdk_app_link_libraries
40
41	subdir(name)
42
43	if build
44		dep_objs = []
45		foreach d:deps
46			dep_objs += get_variable(get_option('default_library')
47				 + '_rte_' + d)
48		endforeach
49		dep_objs += lib_execinfo
50
51		link_libs = []
52		if get_option('default_library') == 'static'
53			link_libs = dpdk_static_libraries + dpdk_drivers
54		endif
55
56		if allow_experimental_apis
57			cflags += '-DALLOW_EXPERIMENTAL_API'
58		endif
59
60		executable('dpdk-' + name,
61				sources,
62				c_args: cflags,
63				link_whole: link_libs,
64				dependencies: dep_objs,
65				install_rpath: join_paths(get_option('prefix'),
66						 driver_install_path),
67				install: true)
68	endif
69endforeach
70
71# special case the autotests
72subdir('test')
73