openwrt/package/devel/ply/Makefile
Tony Ambardar 87d5d38e2a ply: add dynamic tracing package using BPF
ply is a light-weight dynamic tracer for Linux that leverages the kernel's
BPF VM in concert with kprobes/tracepoints to attach probes to arbitrary
points in the kernel.

Most tracers that generate BPF bytecode are based on the LLVM-based BCC
toolchain; ply on the other hand has no external dependencies outside libc,
making it suitable for use on constrained embedded systems.

Currently ply supports x86_64, aarch64, arm, riscv64, riscv32, powerpc,
mips(el), and mips64(el) architectures.

Further documentation, examples and implementation details may be found at:
https://github.com/iovisor/ply.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-05-31 11:51:45 +02:00

55 lines
1.5 KiB
Makefile

#
# Copyright (C) 2022 Ye Jiaqiang, Tony Ambardar
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=ply
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/iovisor/ply.git
PKG_MIRROR_HASH:=d4f434c4d11b662b61da2de8b5a29ecdeac655aa5158f4c4127e2a91047c0c54
PKG_SOURCE_DATE:=2023-05-16
PKG_SOURCE_VERSION:=1b57943db56692924bccb61c271de24a8264d8df
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Tony Ambardar <itugrok@yahoo.com>
include $(INCLUDE_DIR)/package.mk
define Package/ply
SECTION:=devel
CATEGORY:=Development
TITLE:=Light-weight dynamic tracer for Linux
URL:=https://github.com/iovisor/ply.git
DEPENDS:= \
@KERNEL_BPF_EVENTS @KERNEL_DYNAMIC_FTRACE @KERNEL_DEBUG_FS \
@mips||mipsel||mips64||mips64el||x86_64||powerpc||arm_v7||aarch64||riscv||riscv64
endef
define Package/ply/description
A light-weight dynamic tracer for Linux that leverages the kernel's
BPF VM in concert with kprobes and tracepoints to attach probes to
arbitrary points in the kernel.
endef
CONFIGURE_ARGS += --enable-shared=yes --enable-static=no
define Build/Prepare
$(call Build/Prepare/Default)
cd $(PKG_BUILD_DIR) && exec ./autogen.sh
endef
define Package/ply/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ply/.libs/ply $(1)/usr/bin/
$(CP) $(PKG_BUILD_DIR)/src/libply/.libs/libply.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,ply))