Hi, Ferruh On 04/05, Ferruh Yigit wrote: >On 4/4/2019 9:51 AM, Xiaolong Ye wrote: >> Add a new PMD driver for AF_XDP which is a proposed faster version of >> AF_PACKET interface in Linux. More info about AF_XDP, please refer to [1] >> [2]. >> >> This is the vanilla version PMD which just uses a raw buffer registered as >> the umem. >> >> [1] https://fosdem.org/2018/schedule/event/af_xdp/ >> [2] https://lwn.net/Articles/745934/ >> >> Signed-off-by: Xiaolong Ye <xiaolong...@intel.com> > ><...> > >> diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build >> new file mode 100644 >> index 000000000..840c93728 >> --- /dev/null >> +++ b/drivers/net/af_xdp/meson.build >> @@ -0,0 +1,19 @@ >> +# SPDX-License-Identifier: BSD-3-Clause >> +# Copyright(c) 2019 Intel Corporation >> + >> +if host_machine.system() == 'linux' >> + bpf_dep = dependency('libbpf', required: false) >> + if bpf_dep.found() >> + build = true >> + else >> + bpf_dep = cc.find_library('bpf', required: false) >> + if bpf_dep.found() and cc.has_header('bpf/xsk.h', dependencies: >> bpf_dep) and cc.has_header('linux/if_xdp.h') >> + build = true >> + pkgconfig_extra_libs += '-lbpf' >> + else >> + build = false >> + endif >> + endif >> + ext_deps += bpf_dep >> +endif >> +sources = files('rte_eth_af_xdp.c') > >if system is not 'linux', by default build will be 'true', right, so will it >try >to build the driver in that case? >What about setting "build = false" before the linux check, so won't need to set >it false again in the if block, only set it true if dependencies found?
This is a good catch, we do need to initialize build = false first, otherwise meson/ninja would just try to build af_xdp pmd if system is not linux, which is undesired. Do I need to send a separate patch for this so you can squash it into af_xdp pmd patch? >And can 'ext_deps' go out of if block? If we move `ext_deps += bpf_dep` out of if block and build system is not linux, there would be error "ERROR: Unknown variable "bpf_dep".", so we need either initialize bpf_dep (to value like NULL?) first or keep `ext_deps += bpf_dep` inside the if block, I'd prefer keep it as it is, what's you opinion? Thanks, Xiaolong