Files
Preeti Sachan d634c5c1a6 bpftool: fix libelf.h not found error
When build host machine is not installed with elfutils-libelf-devel, it
throws compile error "libelf.h: No such file or directory". Fix missing
headers file by including path ${STAGING_INCDIR_NATIVE} via CFLAGS variable.
Use headers file from ${STAGING_INCDIR_NATIVE} instead of host machine.

Error:
| libbpf_internal.h:19:10: fatal error: libelf.h: No such file or directory

Signed-off-by: Preeti Sachan <preeti.sachan@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-01-07 09:33:13 -08:00

51 lines
1.2 KiB
BlitzBasic

SUMMARY = "Inspect and manipulate eBPF programs and maps"
DESCRIPTION = "bpftool is a kernel tool for inspection and simple manipulation \
of eBPF programs and maps."
LICENSE = "GPL-2.0-only"
DEPENDS = "binutils elfutils elfutils-native"
PROVIDES = "virtual/bpftool"
inherit bash-completion kernelsrc kernel-arch
do_populate_lic[depends] += "virtual/kernel:do_shared_workdir"
EXTRA_OEMAKE = "\
V=1 \
-C ${S}/tools/bpf/bpftool \
O=${B} \
CROSS=${TARGET_PREFIX} \
CC="${CC} ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} ${CFLAGS}" \
HOSTCC="${BUILD_CC} ${BUILD_CFLAGS}" \
LD="${LD}" \
AR=${AR} \
ARCH=${ARCH} \
bash_compdir=${prefix}/share/bash-completion \
"
SECURITY_CFLAGS = ""
do_configure[depends] += "virtual/kernel:do_shared_workdir"
COMPATIBLE_HOST = "(x86_64|aarch64|riscv64).*-linux"
COMPATIBLE_HOST:libc-musl = 'null'
do_compile() {
oe_runmake
}
do_install() {
oe_runmake DESTDIR=${D} install
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
python do_package:prepend() {
d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
}
B = "${WORKDIR}/${BPN}-${PV}"
FILES:${PN} += "${exec_prefix}/sbin/*"
BBCLASSEXTEND = "native nativesdk"