1d30ea906Sjfb8856606# SPDX-License-Identifier: BSD-3-Clause 24418919fSjohnjiang# Copyright(c) 2017-2019 Intel Corporation 3d30ea906Sjfb8856606 44418919fSjohnjiangif is_windows 54418919fSjohnjiang subdir_done() 64418919fSjohnjiangendif 74418919fSjohnjiang 84418919fSjohnjiangapps = [ 94418919fSjohnjiang 'pdump', 10d30ea906Sjfb8856606 'proc-info', 114418919fSjohnjiang 'test-acl', 12d30ea906Sjfb8856606 'test-bbdev', 134418919fSjohnjiang 'test-cmdline', 144418919fSjohnjiang 'test-compress-perf', 15d30ea906Sjfb8856606 'test-crypto-perf', 16d30ea906Sjfb8856606 'test-eventdev', 17*2d9fd380Sjfb8856606 'test-fib', 18*2d9fd380Sjfb8856606 'test-flow-perf', 194418919fSjohnjiang 'test-pipeline', 204418919fSjohnjiang 'test-pmd', 21*2d9fd380Sjfb8856606 'test-regex', 224418919fSjohnjiang 'test-sad'] 23d30ea906Sjfb8856606 24d30ea906Sjfb8856606# for BSD only 25d30ea906Sjfb8856606lib_execinfo = cc.find_library('execinfo', required: false) 26d30ea906Sjfb8856606 27*2d9fd380Sjfb8856606default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API'] 28d30ea906Sjfb8856606 29d30ea906Sjfb8856606foreach app:apps 30d30ea906Sjfb8856606 build = true 31d30ea906Sjfb8856606 name = app 32d30ea906Sjfb8856606 sources = [] 33d30ea906Sjfb8856606 includes = [] 34d30ea906Sjfb8856606 cflags = default_cflags 35d30ea906Sjfb8856606 objs = [] # other object files to link against, used e.g. for 36d30ea906Sjfb8856606 # instruction-set optimized versions of code 37d30ea906Sjfb8856606 38d30ea906Sjfb8856606 # use "deps" for internal DPDK dependencies, and "ext_deps" for 39d30ea906Sjfb8856606 # external package/library requirements 40d30ea906Sjfb8856606 ext_deps = [] 41*2d9fd380Sjfb8856606 deps = [] 42d30ea906Sjfb8856606 43d30ea906Sjfb8856606 subdir(name) 44d30ea906Sjfb8856606 45d30ea906Sjfb8856606 if build 46d30ea906Sjfb8856606 dep_objs = [] 47d30ea906Sjfb8856606 foreach d:deps 48d30ea906Sjfb8856606 dep_objs += get_variable(get_option('default_library') 49d30ea906Sjfb8856606 + '_rte_' + d) 50d30ea906Sjfb8856606 endforeach 51d30ea906Sjfb8856606 dep_objs += lib_execinfo 52d30ea906Sjfb8856606 53d30ea906Sjfb8856606 link_libs = [] 54d30ea906Sjfb8856606 if get_option('default_library') == 'static' 55d30ea906Sjfb8856606 link_libs = dpdk_static_libraries + dpdk_drivers 56d30ea906Sjfb8856606 endif 57d30ea906Sjfb8856606 58d30ea906Sjfb8856606 executable('dpdk-' + name, 59d30ea906Sjfb8856606 sources, 60d30ea906Sjfb8856606 c_args: cflags, 61d30ea906Sjfb8856606 link_whole: link_libs, 62d30ea906Sjfb8856606 dependencies: dep_objs, 63d30ea906Sjfb8856606 install_rpath: join_paths(get_option('prefix'), 64d30ea906Sjfb8856606 driver_install_path), 65d30ea906Sjfb8856606 install: true) 66d30ea906Sjfb8856606 endif 67d30ea906Sjfb8856606endforeach 684418919fSjohnjiang 694418919fSjohnjiang# special case the autotests 704418919fSjohnjiangsubdir('test') 71