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