blob: f418bea5a724c74287f16af2bc01e5cce322ebcb [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2006-2016 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9include $(INCLUDE_DIR)/kernel.mk
10
11PKG_NAME:=strace
12PKG_VERSION:=6.11
13PKG_RELEASE:=1
14
15PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16PKG_SOURCE_URL:=https://strace.io/files/$(PKG_VERSION)
17PKG_HASH:=83262583a3529f02c3501aa8b8ac772b4cbc03dc934e98bab6e4883626e283a5
18
19PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
20PKG_LICENSE:=LGPL-2.1-or-later
21PKG_LICENSE_FILES:=COPYING
22PKG_CPE_ID:=cpe:/a:strace_project:strace
23
24PKG_FIXUP:=autoreconf
25PKG_INSTALL:=1
26
27PKG_CONFIG_DEPENDS := \
28 CONFIG_STRACE_LIBDW \
29 CONFIG_STRACE_LIBUNWIND
30
31include $(INCLUDE_DIR)/package.mk
32include $(INCLUDE_DIR)/nls.mk
33
34HOST_CFLAGS += -I$(LINUX_DIR)/user_headers/include
35
36CONFIGURE_VARS+= \
37 LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
38 CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" \
39 CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
40 CC_FOR_BUILD="$(HOST_CC)"
41
42define Package/strace
43 SECTION:=utils
44 CATEGORY:=Utilities
45 TITLE:=System call tracer
46 URL:=https://strace.io/
47 DEPENDS:=+STRACE_LIBDW:libdw +STRACE_LIBUNWIND:libunwind
48endef
49
50define Package/strace/description
51 A useful diagnostic, instructional, and debugging tool. Allows you to track what
52 system calls a program makes while it is running.
53endef
54
55define Package/strace/config
56choice
57 prompt "stack tracing support"
58 default STRACE_NONE
59
60 config STRACE_NONE
61 bool "None"
62
63 config STRACE_LIBDW
64 bool "libdw"
65
66 config STRACE_LIBUNWIND
67 bool "libunwind (experimental)"
68endchoice
69endef
70
71CONFIGURE_ARGS += \
72 --with-libdw=$(if $(CONFIG_STRACE_LIBDW),yes,no) \
73 --with-libunwind=$(if $(CONFIG_STRACE_LIBUNWIND),yes,no) \
74 --enable-mpers=no \
75 --without-libselinux
76
77MAKE_FLAGS := \
78 CCOPT="$(TARGET_CFLAGS)"
79
80define Package/strace/install
81 $(INSTALL_DIR) $(1)/usr/bin
82 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/strace $(1)/usr/bin/
83endef
84
85$(eval $(call BuildPackage,strace))