[Buildroot] [git commit] package/linux-tools: add support for bpftool
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: 2021-07-28 20:19:04
Subsystem:
the rest · Maintainer:
Linus Torvalds
commit: https://git.buildroot.net/buildroot/commit/?id=d41d79656849d0a495db461272f691c8b6a916b9 branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master This tool is available to be compiled since kernel 4.15. Signed-off-by: James Hilliard <redacted> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- package/linux-tools/Config.in | 22 +++++++++++++++++ package/linux-tools/linux-tool-bpftool.mk.in | 37 ++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+)
diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
index ceb58c668a..2287ef5888 100644
--- a/package/linux-tools/Config.in
+++ b/package/linux-tools/Config.in@@ -5,6 +5,28 @@ menu "Linux Kernel Tools" config BR2_PACKAGE_LINUX_TOOLS bool +config BR2_PACKAGE_LINUX_TOOLS_BPFTOOL + bool "bpftool" + depends on !BR2_nios2 # binutils + depends on BR2_USE_WCHAR # binutils, elfutils + depends on !BR2_STATIC_LIBS # elfutils + depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils + select BR2_PACKAGE_LINUX_TOOLS + select BR2_PACKAGE_BINUTILS + select BR2_PACKAGE_ELFUTILS + help + bpftool is a tool for for inspection and simple manipulation + of eBPF programs and maps. + + These tools are available only from kernel version 4.15. + +comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads" + depends on !BR2_nios2 + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER bool "cpupower" select BR2_PACKAGE_LINUX_TOOLS
diff --git a/package/linux-tools/linux-tool-bpftool.mk.in b/package/linux-tools/linux-tool-bpftool.mk.in
new file mode 100644
index 0000000000..0c4d3693a3
--- /dev/null
+++ b/package/linux-tools/linux-tool-bpftool.mk.in@@ -0,0 +1,37 @@ +################################################################################ +# +# bpftool +# +################################################################################ + +LINUX_TOOLS += bpftool + +BPFTOOL_DEPENDENCIES = binutils elfutils + +ifeq ($(BR2_PACKAGE_LIBCAP),y) +BPFTOOL_DEPENDENCIES += libcap +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +BPFTOOL_DEPENDENCIES += zlib +endif + +BPFTOOL_MAKE_OPTS = $(LINUX_MAKE_FLAGS) + +define BPFTOOL_BUILD_CMDS + $(Q)if ! grep install $(LINUX_DIR)/tools/bpf/bpftool/Makefile >/dev/null 2>&1 ; then \ + echo "Your kernel version is too old and does not have install section in the bpf tools." ; \ + echo "At least kernel 4.15 must be used." ; \ + exit 1 ; \ + fi + + $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \ + $(BPFTOOL_MAKE_OPTS) +endef + +define BPFTOOL_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \ + $(BPFTOOL_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) \ + install +endef
_______________________________________________ buildroot mailing list buildroot@busybox.net http://lists.busybox.net/mailman/listinfo/buildroot