xref: /f-stack/dpdk/app/meson.build (revision 2d9fd380)
1d30ea906Sjfb8856606# SPDX-License-Identifier: BSD-3-Clause
24418919fSjohnjiang# Copyright(c) 2017-2019 Intel Corporation
3d30ea906Sjfb8856606
44418919fSjohnjiangif is_windows
54418919fSjohnjiang	subdir_done()
64418919fSjohnjiangendif
74418919fSjohnjiang
84418919fSjohnjiangapps = [
94418919fSjohnjiang	'pdump',
10d30ea906Sjfb8856606	'proc-info',
114418919fSjohnjiang	'test-acl',
12d30ea906Sjfb8856606	'test-bbdev',
134418919fSjohnjiang	'test-cmdline',
144418919fSjohnjiang	'test-compress-perf',
15d30ea906Sjfb8856606	'test-crypto-perf',
16d30ea906Sjfb8856606	'test-eventdev',
17*2d9fd380Sjfb8856606	'test-fib',
18*2d9fd380Sjfb8856606	'test-flow-perf',
194418919fSjohnjiang	'test-pipeline',
204418919fSjohnjiang	'test-pmd',
21*2d9fd380Sjfb8856606	'test-regex',
224418919fSjohnjiang	'test-sad']
23d30ea906Sjfb8856606
24d30ea906Sjfb8856606# for BSD only
25d30ea906Sjfb8856606lib_execinfo = cc.find_library('execinfo', required: false)
26d30ea906Sjfb8856606
27*2d9fd380Sjfb8856606default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API']
28d30ea906Sjfb8856606
29d30ea906Sjfb8856606foreach app:apps
30d30ea906Sjfb8856606	build = true
31d30ea906Sjfb8856606	name = app
32d30ea906Sjfb8856606	sources = []
33d30ea906Sjfb8856606	includes = []
34d30ea906Sjfb8856606	cflags = default_cflags
35d30ea906Sjfb8856606	objs = [] # other object files to link against, used e.g. for
36d30ea906Sjfb8856606	          # instruction-set optimized versions of code
37d30ea906Sjfb8856606
38d30ea906Sjfb8856606	# use "deps" for internal DPDK dependencies, and "ext_deps" for
39d30ea906Sjfb8856606	# external package/library requirements
40d30ea906Sjfb8856606	ext_deps = []
41*2d9fd380Sjfb8856606	deps = []
42d30ea906Sjfb8856606
43d30ea906Sjfb8856606	subdir(name)
44d30ea906Sjfb8856606
45d30ea906Sjfb8856606	if build
46d30ea906Sjfb8856606		dep_objs = []
47d30ea906Sjfb8856606		foreach d:deps
48d30ea906Sjfb8856606			dep_objs += get_variable(get_option('default_library')
49d30ea906Sjfb8856606				 + '_rte_' + d)
50d30ea906Sjfb8856606		endforeach
51d30ea906Sjfb8856606		dep_objs += lib_execinfo
52d30ea906Sjfb8856606
53d30ea906Sjfb8856606		link_libs = []
54d30ea906Sjfb8856606		if get_option('default_library') == 'static'
55d30ea906Sjfb8856606			link_libs = dpdk_static_libraries + dpdk_drivers
56d30ea906Sjfb8856606		endif
57d30ea906Sjfb8856606
58d30ea906Sjfb8856606		executable('dpdk-' + name,
59d30ea906Sjfb8856606				sources,
60d30ea906Sjfb8856606				c_args: cflags,
61d30ea906Sjfb8856606				link_whole: link_libs,
62d30ea906Sjfb8856606				dependencies: dep_objs,
63d30ea906Sjfb8856606				install_rpath: join_paths(get_option('prefix'),
64d30ea906Sjfb8856606						 driver_install_path),
65d30ea906Sjfb8856606				install: true)
66d30ea906Sjfb8856606	endif
67d30ea906Sjfb8856606endforeach
684418919fSjohnjiang
694418919fSjohnjiang# special case the autotests
704418919fSjohnjiangsubdir('test')
71