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