X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Fmeson.build;h=93d8c15032225956500c2ea6e60f3ca7c9de4be8;hb=e689abaf8bc17f4baf343bc535e9b20ed34594cb;hp=2360a3d45aacd39a117df95b5e53f8ae3e511ab8;hpb=474572d2ae5a17b6596053c2630753fe04fc304f;p=dpdk.git diff --git a/app/meson.build b/app/meson.build index 2360a3d45a..93d8c15032 100644 --- a/app/meson.build +++ b/app/meson.build @@ -1,67 +1,80 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation apps = [ - 'pdump', - 'proc-info', - 'test-acl', - 'test-bbdev', - 'test-cmdline', - 'test-compress-perf', - 'test-crypto-perf', - 'test-eventdev', - 'test-pipeline', - 'test-pmd'] + '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 - -# specify -D_GNU_SOURCE unconditionally -default_cflags += '-D_GNU_SOURCE' +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 = default_cflags - objs = [] # other object files to link against, used e.g. for - # instruction-set optimized versions of code + 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 = dpdk_app_link_libraries + # use "deps" for internal DPDK dependencies, and "ext_deps" for + # external package/library requirements + ext_deps = [] + deps = [] - subdir(name) + subdir(name) - if build - dep_objs = [] - foreach d:deps - dep_objs += get_variable(get_option('default_library') - + '_rte_' + d) - endforeach - dep_objs += lib_execinfo + 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 - link_libs = [] - if get_option('default_library') == 'static' - link_libs = dpdk_static_libraries + dpdk_drivers - endif + if not build + continue + endif - if allow_experimental_apis - cflags += '-DALLOW_EXPERIMENTAL_API' - 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_whole: link_libs, - dependencies: dep_objs, - install_rpath: join_paths(get_option('prefix'), - driver_install_path), - install: true) - 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')