1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# libbpf 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunLIBBPF_VERSION = 0.4.0 8*4882a593SmuzhiyunLIBBPF_SITE = $(call github,libbpf,libbpf,v$(LIBBPF_VERSION)) 9*4882a593SmuzhiyunLIBBPF_LICENSE = GPL-2.0, LGPL-2.1, BSD-2-Clause 10*4882a593SmuzhiyunLIBBPF_LICENSE_FILES = LICENSE LICENSE.BSD-2-Clause LICENSE.LGPL-2.1 11*4882a593SmuzhiyunLIBBPF_DEPENDENCIES = host-bison host-flex host-pkgconf elfutils zlib 12*4882a593SmuzhiyunLIBBPF_INSTALL_STAGING = YES 13*4882a593Smuzhiyun 14*4882a593Smuzhiyundefine LIBBPF_BUILD_CMDS 15*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ 16*4882a593Smuzhiyun -C $(@D)/src 17*4882a593Smuzhiyunendef 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun# bpf/bpf.h installed by libbpf uses bpf_iter_link_info that was added since 20*4882a593Smuzhiyun# kernel 5.9, so we need to update some uapi headers in STAGING_DIR if the 21*4882a593Smuzhiyun# toolchain is build with linux-headers < 5.9. 22*4882a593Smuzhiyun# Otherwise bpf/bpf.h is broken due to out of date linux/bpf.h installed by the 23*4882a593Smuzhiyun# toolchain. 24*4882a593Smuzhiyun# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a5cbe05a6673b85bed2a63ffcfea6a96c6410cff 25*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9),) 26*4882a593SmuzhiyunLIBBPF_UPDATE_UAPI_HEADERS = install_uapi_headers 27*4882a593Smuzhiyunendif 28*4882a593Smuzhiyun 29*4882a593Smuzhiyundefine LIBBPF_INSTALL_STAGING_CMDS 30*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ 31*4882a593Smuzhiyun -C $(@D)/src install $(LIBBPF_UPDATE_UAPI_HEADERS) \ 32*4882a593Smuzhiyun DESTDIR=$(STAGING_DIR) 33*4882a593Smuzhiyunendef 34*4882a593Smuzhiyun 35*4882a593Smuzhiyundefine LIBBPF_INSTALL_TARGET_CMDS 36*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ 37*4882a593Smuzhiyun -C $(@D)/src install DESTDIR=$(TARGET_DIR) 38*4882a593Smuzhiyunendef 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun$(eval $(generic-package)) 41