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