mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-23 21:08:23 +00:00
7a0b76cf0f
Update to the latest upstream release to include recent improvements and
bugfixes, and simplify use of PKG_SOURCE_VERSION.
This version supports BPF objects of either endianness, allowing for
introspection, linking and skeleton creation, and enables cross-compiling
modern BPF applications for targets with non-native byteorder.
Link: https://github.com/libbpf/bpftool/releases/tag/v7.5.0
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/17404
(cherry picked from commit 5bcad34154
)
Link: https://github.com/openwrt/openwrt/pull/17418
Signed-off-by: Nick Hainke <vincent@systemli.org>
121 lines
2.9 KiB
Makefile
121 lines
2.9 KiB
Makefile
#
|
|
# Copyright (C) 2020-2024 Tony Ambardar <itugrok@yahoo.com>
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=bpftool
|
|
PKG_VERSION:=7.5.0
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE_URL:=https://github.com/libbpf/bpftool
|
|
PKG_MIRROR_HASH:=1da7c08959e7819772145774322ffd876f3180065be1c3759336dca98ac9f666
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
|
|
|
PKG_MAINTAINER:=Tony Ambardar <itugrok@yahoo.com>
|
|
|
|
PKG_BUILD_FLAGS:=no-mips16 gc-sections lto
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_INSTALL:=1
|
|
|
|
HOST_BUILD_PARALLEL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
|
|
define Package/bpftool/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
TITLE:=bpftool - eBPF subsystem utility
|
|
LICENSE:=GPL-2.0-only OR BSD-2-Clause
|
|
URL:=http://www.kernel.org
|
|
DEPENDS:=+libelf
|
|
endef
|
|
|
|
define Package/bpftool-minimal
|
|
$(call Package/bpftool/Default)
|
|
TITLE+= (Minimal)
|
|
VARIANT:=minimal
|
|
DEFAULT_VARIANT:=1
|
|
PROVIDES:=bpftool
|
|
ALTERNATIVES:=200:/usr/sbin/bpftool:/usr/libexec/bpftool-minimal
|
|
endef
|
|
|
|
define Package/bpftool-full
|
|
$(call Package/bpftool/Default)
|
|
TITLE+= (Full)
|
|
VARIANT:=full
|
|
PROVIDES:=bpftool
|
|
ALTERNATIVES:=300:/usr/sbin/bpftool:/usr/libexec/bpftool-full
|
|
DEPENDS+= +libbfd +libopcodes
|
|
endef
|
|
|
|
define Package/bpftool-minimal/description
|
|
A tool for inspection and simple manipulation of eBPF programs and maps.
|
|
endef
|
|
|
|
define Package/bpftool-full/description
|
|
A tool for inspection and simple manipulation of eBPF programs and maps.
|
|
This full version uses libbfd and libopcodes to support disassembly of
|
|
eBPF programs and jited code.
|
|
endef
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
full:=1
|
|
else
|
|
full:=0
|
|
endif
|
|
|
|
MAKE_FLAGS += \
|
|
OUTPUT="$(PKG_BUILD_DIR)/" \
|
|
prefix="/usr" \
|
|
$(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
|
|
check_feat=0 \
|
|
feature-clang-bpf-co-re=0 \
|
|
feature-libbfd=$(full) \
|
|
feature-llvm=0 \
|
|
feature-libcap=0 \
|
|
feature-disassembler-four-args=1 \
|
|
feature-disassembler-init-styled=1
|
|
|
|
MAKE_PATH = src
|
|
|
|
define Package/bpftool-$(BUILD_VARIANT)/install
|
|
$(INSTALL_DIR) $(1)/usr/libexec
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/bpftool \
|
|
$(1)/usr/libexec/bpftool-$(BUILD_VARIANT)
|
|
endef
|
|
|
|
HOST_MAKE_FLAGS += \
|
|
OUTPUT="$(HOST_BUILD_DIR)/" \
|
|
prefix="/usr" \
|
|
$(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
|
|
check_feat=0 \
|
|
feature-clang-bpf-co-re=0 \
|
|
feature-libbfd=0 \
|
|
feature-llvm=0 \
|
|
feature-libcap=0 \
|
|
feature-disassembler-four-args=1 \
|
|
feature-disassembler-init-styled=1
|
|
|
|
HOST_MAKE_PATH = src
|
|
|
|
define Host/Install
|
|
$(INSTALL_DIR) $(STAGING_DIR_HOST)/usr/sbin
|
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/bpftool \
|
|
$(STAGING_DIR_HOST)/usr/sbin/bpftool
|
|
endef
|
|
|
|
define Host/Clean
|
|
rm -f $(STAGING_DIR_HOST)/usr/sbin/bpftool
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,bpftool-full))
|
|
$(eval $(call BuildPackage,bpftool-minimal))
|
|
$(eval $(call HostBuild))
|