X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Fmeson.build;h=93d8c15032225956500c2ea6e60f3ca7c9de4be8;hb=f25265f004aa6e7c3cb8658c9e5edf3c73ee802f;hp=7491316e30ba34e3e9763ddb4c48bc7cf2126926;hpb=fa036e70d794f45a4a39fe8256892c45292ecaea;p=dpdk.git diff --git a/app/meson.build b/app/meson.build index 7491316e30..93d8c15032 100644 --- a/app/meson.build +++ b/app/meson.build @@ -1,53 +1,80 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation -apps = ['test-eventdev', - 'test-pmd'] +apps = [ + 'dumpcap', + 'pdump', + 'proc-info', + 'test-acl', + 'test-bbdev', + 'test-cmdline', + 'test-compress-perf', + 'test-crypto-perf', + 'test-eventdev', + 'test-fib', + 'test-flow-perf', + 'test-gpudev', + 'test-pipeline', + 'test-pmd', + 'test-regex', + 'test-sad', +] -# for BSD only -lib_execinfo = cc.find_library('execinfo', required: false) +default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API'] +default_ldflags = [] +if get_option('default_library') == 'static' and not is_windows + default_ldflags += ['-Wl,--export-dynamic'] +endif foreach app:apps - build = true - name = app - allow_experimental_apis = false - sources = [] - includes = [] - cflags = machine_args - objs = [] # other object files to link against, used e.g. for - # instruction-set optimized versions of code - - # use "deps" for internal DPDK dependencies, and "ext_deps" for - # external package/library requirements - ext_deps = [] - deps = [] - - subdir(name) - - if build - dep_objs = [] - foreach d:deps - dep_objs += get_variable(get_option('default_library') - + '_rte_' + d) - endforeach - dep_objs += lib_execinfo - - link_libs = [] - if get_option('default_library') == 'static' - link_libs = dpdk_drivers - endif - - if allow_experimental_apis - cflags += '-DALLOW_EXPERIMENTAL_API' - endif - - executable('dpdk-' + name, - sources, - c_args: cflags, - link_whole: link_libs, - dependencies: dep_objs, - install_rpath: join_paths(get_option('prefix'), - driver_install_path), - install: true) - endif + build = true + name = app + sources = [] + includes = [] + cflags = default_cflags + ldflags = default_ldflags + objs = [] # other object files to link against, used e.g. for + # instruction-set optimized versions of code + + # use "deps" for internal DPDK dependencies, and "ext_deps" for + # external package/library requirements + ext_deps = [] + deps = [] + + subdir(name) + + if build + dep_objs = [] + foreach d:deps + var_name = get_option('default_library') + '_rte_' + d + if not is_variable(var_name) + build = false + message('Missing dependency "@0@" for app "@1@"'.format(d, name)) + break + endif + dep_objs += [get_variable(var_name)] + endforeach + endif + + if not build + continue + endif + + link_libs = [] + if get_option('default_library') == 'static' + link_libs = dpdk_static_libraries + dpdk_drivers + endif + + executable('dpdk-' + name, + sources, + c_args: cflags, + link_args: ldflags, + link_whole: link_libs, + dependencies: ext_deps + dep_objs, + include_directories: includes, + install_rpath: join_paths(get_option('prefix'), driver_install_path), + install: true) endforeach + +# special case the autotests +subdir('test')