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