test/mcslock: use compiler atomics for lcores sync
[dpdk.git] / app / meson.build
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2017-2019 Intel Corporation
3
4 apps = [
5         'pdump',
6         'proc-info',
7         'test-acl',
8         'test-bbdev',
9         'test-cmdline',
10         'test-compress-perf',
11         'test-crypto-perf',
12         'test-eventdev',
13         'test-fib',
14         'test-flow-perf',
15         'test-pipeline',
16         'test-pmd',
17         'test-regex',
18         'test-sad',
19 ]
20
21 default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API']
22 default_ldflags = []
23 if get_option('default_library') == 'static' and not is_windows
24     default_ldflags += ['-Wl,--export-dynamic']
25 endif
26
27 foreach app:apps
28     build = true
29     name = app
30     sources = []
31     includes = []
32     cflags = default_cflags
33     ldflags = default_ldflags
34     objs = [] # other object files to link against, used e.g. for
35               # instruction-set optimized versions of code
36
37     # use "deps" for internal DPDK dependencies, and "ext_deps" for
38     # external package/library requirements
39     ext_deps = []
40     deps = []
41
42     subdir(name)
43
44     if not build
45         continue
46     endif
47
48     dep_objs = []
49     foreach d:deps
50         dep_objs += get_variable(get_option('default_library') + '_rte_' + d)
51     endforeach
52
53     link_libs = []
54     if get_option('default_library') == 'static'
55         link_libs = dpdk_static_libraries + dpdk_drivers
56     endif
57
58     executable('dpdk-' + name,
59             sources,
60             c_args: cflags,
61             link_args: ldflags,
62             link_whole: link_libs,
63             dependencies: dep_objs,
64             include_directories: includes,
65             install_rpath: join_paths(get_option('prefix'), driver_install_path),
66             install: true)
67 endforeach
68
69 # special case the autotests
70 subdir('test')