xref: /dpdk/app/meson.build (revision cfe3aeb1)
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
20# for BSD only
21lib_execinfo = cc.find_library('execinfo', required: false)
22
23default_cflags = machine_args
24
25foreach app:apps
26	build = true
27	name = app
28	allow_experimental_apis = false
29	sources = []
30	includes = []
31	cflags = default_cflags
32	objs = [] # other object files to link against, used e.g. for
33	          # instruction-set optimized versions of code
34
35	# use "deps" for internal DPDK dependencies, and "ext_deps" for
36	# external package/library requirements
37	ext_deps = []
38	deps = dpdk_app_link_libraries
39
40	subdir(name)
41
42	if build
43		dep_objs = []
44		foreach d:deps
45			dep_objs += get_variable(get_option('default_library')
46				 + '_rte_' + d)
47		endforeach
48		dep_objs += lib_execinfo
49
50		link_libs = []
51		if get_option('default_library') == 'static'
52			link_libs = dpdk_static_libraries + dpdk_drivers
53		endif
54
55		if allow_experimental_apis
56			cflags += '-DALLOW_EXPERIMENTAL_API'
57		endif
58
59		executable('dpdk-' + name,
60				sources,
61				c_args: cflags,
62				link_whole: link_libs,
63				dependencies: dep_objs,
64				install_rpath: join_paths(get_option('prefix'),
65						 driver_install_path),
66				install: true)
67	endif
68endforeach
69
70# special case the autotests
71subdir('test')
72