strace: add option to enable libdw stack tracing
[openwrt/openwrt.git] / package / devel / strace / Makefile
index b9ed201bbaf030eed4ee181f4ff09efbc1897c05..b1e27f22c3d3c9bd545508318598be39573a224b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,24 +9,31 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=strace
-
-PKG_VERSION:=4.10
+PKG_VERSION:=4.24
 PKG_RELEASE:=1
-PKG_MD5SUM:=107a5be455493861189e9b57a3a51912
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@SF/$(PKG_NAME)
+PKG_SOURCE_URL:=https://strace.io/files/$(PKG_VERSION)
+PKG_HASH:=1f4e59fc1edfa2bfb4adf2a748623dc25b105ec79713dd84404199f91b0b0634
 
 PKG_LICENSE:=BSD-3c
 PKG_LICENSE_FILES:=COPYRIGHT
+PKG_CPE_ID:=cpe:/a:paul_kranenburg:strace
 
-PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 
 PKG_FIXUP:=autoreconf
+PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_strace_libunwind
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
+HOST_CFLAGS += -I$(LINUX_DIR)/user_headers/include
+
+ifeq ($(ARCH),aarch64)
+  CONFIGURE_ARGS += --enable-mpers=check
+endif
+
 CONFIGURE_VARS+= \
        LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
        CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" \
@@ -37,6 +44,7 @@ define Package/strace
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=System call tracer
+  DEPENDS:=+PACKAGE_strace_libunwind:libunwind
   URL:=http://strace.sourceforge.net/
 endef
 
@@ -45,6 +53,19 @@ A useful diagnostic, instructional, and debugging tool. Allows you to track what
 system calls a program makes while it is running.
 endef
 
+define Package/strace/config
+config PACKAGE_strace_libdw
+       bool "Enable stack tracing support using libdw"
+       default n
+config PACKAGE_strace_libunwind
+       bool "Enable stack tracing support using libunwind (experimental)"
+       default n
+endef
+
+CONFIGURE_ARGS += \
+       --with-libdw=$(if $(CONFIG_PACKAGE_strace_libdw),yes,no) \
+       --with-libunwind=$(if $(CONFIG_PACKAGE_strace_libunwind),yes,no)
+
 MAKE_FLAGS := \
        CCOPT="$(TARGET_CFLAGS)"