Hi, Luca On 04/02, Luca Boccassi wrote: >On Tue, 2019-04-02 at 23:46 +0800, Xiaolong Ye wrote: >> diff --git a/drivers/net/af_xdp/Makefile >> b/drivers/net/af_xdp/Makefile >> new file mode 100644 >> index 000000000..8343e3016 >> --- /dev/null >> +++ b/drivers/net/af_xdp/Makefile >> @@ -0,0 +1,32 @@ >> +# SPDX-License-Identifier: BSD-3-Clause >> +# Copyright(c) 2019 Intel Corporation >> + >> +include $(RTE_SDK)/mk/rte.vars.mk >> + >> +# >> +# library name >> +# >> +LIB = librte_pmd_af_xdp.a >> + >> +EXPORT_MAP := rte_pmd_af_xdp_version.map >> + >> +LIBABIVER := 1 >> + >> +CFLAGS += -O3 >> + >> +# require kernel version >= v5.1-rc1 >> +CFLAGS += -I$(RTE_KERNELDIR)/tools/include >> +CFLAGS += -I$(RTE_KERNELDIR)/tools/lib/bpf > >Sorry for not noticing this before, but doesn't this require the full >kernel tree rather than just the typical headers package? Requiring the >full kernel tree to be available at build time will make this >unbuildable on distros that still use makefiles, like RHEL and SUSE. At >least on Debian and Ubuntu, the kernel headers packages distributed do >not include the full kernel tree, only the headers, so there's no >tools/lib or tools/include.
Currently we do have dependencies on the kernel src tree, as xsk.h and asm/barrier wouldn't be installed by libbpf, so before libbpf handles these properly, can we keep the current RTE_KERNELDIR in Makefile for now, and mention the dependencies in document, also suggest users to config RTE_KERNELDIR to correct kernel src tree if they want to use af_xdp pmd? Something like: dependencies: - kernel source code (>= v5.1-rc1) - build libbfp and install Thanks, Xiaolong > >Like other dependencies, this should assume they are installed as >regular libraries, eg: > >CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config >--cflags libbpf || echo "-I/usr/include/bpf") > >> +CFLAGS += $(WERROR_FLAGS) >> +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring >> +LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs >> +LDLIBS += -lrte_bus_vdev >> +LDLIBS += -lbpf > >LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs >libbpf || echo "-lbpf") > >-- >Kind regards, >Luca Boccassi