1*d30ea906Sjfb8856606# SPDX-License-Identifier: BSD-3-Clause 2*d30ea906Sjfb8856606# Copyright(c) 2017 Intel Corporation 3*d30ea906Sjfb8856606 4*d30ea906Sjfb8856606apps = ['pdump', 5*d30ea906Sjfb8856606 'proc-info', 6*d30ea906Sjfb8856606 'test-bbdev', 7*d30ea906Sjfb8856606 'test-crypto-perf', 8*d30ea906Sjfb8856606 'test-eventdev', 9*d30ea906Sjfb8856606 'test-pmd'] 10*d30ea906Sjfb8856606 11*d30ea906Sjfb8856606# for BSD only 12*d30ea906Sjfb8856606lib_execinfo = cc.find_library('execinfo', required: false) 13*d30ea906Sjfb8856606 14*d30ea906Sjfb8856606default_cflags = machine_args 15*d30ea906Sjfb8856606 16*d30ea906Sjfb8856606# specify -D_GNU_SOURCE unconditionally 17*d30ea906Sjfb8856606default_cflags += '-D_GNU_SOURCE' 18*d30ea906Sjfb8856606 19*d30ea906Sjfb8856606foreach app:apps 20*d30ea906Sjfb8856606 build = true 21*d30ea906Sjfb8856606 name = app 22*d30ea906Sjfb8856606 allow_experimental_apis = false 23*d30ea906Sjfb8856606 sources = [] 24*d30ea906Sjfb8856606 includes = [] 25*d30ea906Sjfb8856606 cflags = default_cflags 26*d30ea906Sjfb8856606 objs = [] # other object files to link against, used e.g. for 27*d30ea906Sjfb8856606 # instruction-set optimized versions of code 28*d30ea906Sjfb8856606 29*d30ea906Sjfb8856606 # use "deps" for internal DPDK dependencies, and "ext_deps" for 30*d30ea906Sjfb8856606 # external package/library requirements 31*d30ea906Sjfb8856606 ext_deps = [] 32*d30ea906Sjfb8856606 deps = dpdk_app_link_libraries 33*d30ea906Sjfb8856606 34*d30ea906Sjfb8856606 subdir(name) 35*d30ea906Sjfb8856606 36*d30ea906Sjfb8856606 if build 37*d30ea906Sjfb8856606 dep_objs = [] 38*d30ea906Sjfb8856606 foreach d:deps 39*d30ea906Sjfb8856606 dep_objs += get_variable(get_option('default_library') 40*d30ea906Sjfb8856606 + '_rte_' + d) 41*d30ea906Sjfb8856606 endforeach 42*d30ea906Sjfb8856606 dep_objs += lib_execinfo 43*d30ea906Sjfb8856606 44*d30ea906Sjfb8856606 link_libs = [] 45*d30ea906Sjfb8856606 if get_option('default_library') == 'static' 46*d30ea906Sjfb8856606 link_libs = dpdk_static_libraries + dpdk_drivers 47*d30ea906Sjfb8856606 endif 48*d30ea906Sjfb8856606 49*d30ea906Sjfb8856606 if allow_experimental_apis 50*d30ea906Sjfb8856606 cflags += '-DALLOW_EXPERIMENTAL_API' 51*d30ea906Sjfb8856606 endif 52*d30ea906Sjfb8856606 53*d30ea906Sjfb8856606 executable('dpdk-' + name, 54*d30ea906Sjfb8856606 sources, 55*d30ea906Sjfb8856606 c_args: cflags, 56*d30ea906Sjfb8856606 link_whole: link_libs, 57*d30ea906Sjfb8856606 dependencies: dep_objs, 58*d30ea906Sjfb8856606 install_rpath: join_paths(get_option('prefix'), 59*d30ea906Sjfb8856606 driver_install_path), 60*d30ea906Sjfb8856606 install: true) 61*d30ea906Sjfb8856606 endif 62*d30ea906Sjfb8856606endforeach 63