summaryrefslogtreecommitdiff
path: root/app/meson.build
blob: 2b9fdef74be064d7f9c2ebbb87bc9e1850b8a9a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2019 Intel Corporation

if is_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)

default_cflags = machine_args

# specify -D_GNU_SOURCE unconditionally
default_cflags += '-D_GNU_SOURCE'

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

	# use "deps" for internal DPDK dependencies, and "ext_deps" for
	# external package/library requirements
	ext_deps = []
	deps = dpdk_app_link_libraries

	subdir(name)

	if build
		dep_objs = []
		foreach d:deps
			dep_objs += get_variable(get_option('default_library')
				 + '_rte_' + d)
		endforeach
		dep_objs += lib_execinfo

		link_libs = []
		if get_option('default_library') == 'static'
			link_libs = dpdk_static_libraries + dpdk_drivers
		endif

		if allow_experimental_apis
			cflags += '-DALLOW_EXPERIMENTAL_API'
		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
endforeach

# special case the autotests
subdir('test')