xref: /dpdk/app/meson.build (revision e1369718)
1# SPDX-License-Identifier: BSD-3-Clause
2# Copyright(c) 2017-2019 Intel Corporation
3
4apps = [
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
21default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API']
22default_ldflags = []
23if get_option('default_library') == 'static' and not is_windows
24    default_ldflags += ['-Wl,--export-dynamic']
25endif
26
27foreach 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)
67endforeach
68
69# special case the autotests
70subdir('test')
71