dpdk/app/meson.build
<<
>>
Prefs
   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