#
-# 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.
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=strace
-
-PKG_VERSION:=4.8
+PKG_VERSION:=5.0
PKG_RELEASE:=1
-PKG_MD5SUM:=c575ef43829586801f514fd91bfe7575
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:=3b7ad77eb2b81dc6078046a9cc56eed5242b67b63748e7fc28f7c2daf4e647da
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_INSTALL:=1
+PKG_CONFIG_DEPENDS := \
+ CONFIG_STRACE_LIBDW \
+ CONFIG_STRACE_LIBUNWIND
+
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)" \
+ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+ CC_FOR_BUILD="$(HOST_CC)"
+
define Package/strace
SECTION:=utils
CATEGORY:=Utilities
TITLE:=System call tracer
+ DEPENDS:=+STRACE_LIBDW:libdw +STRACE_LIBUNWIND:libunwind
URL:=http://strace.sourceforge.net/
endef
system calls a program makes while it is running.
endef
+define Package/strace/config
+choice
+ prompt "stack tracing support"
+ default STRACE_NONE
+
+ config STRACE_NONE
+ bool "None"
+
+ config STRACE_LIBDW
+ bool "libdw"
+
+ config STRACE_LIBUNWIND
+ bool "libunwind (experimental)"
+endchoice
+endef
+
+CONFIGURE_ARGS += \
+ --with-libdw=$(if $(CONFIG_STRACE_LIBDW),yes,no) \
+ --with-libunwind=$(if $(CONFIG_STRACE_LIBUNWIND),yes,no)
+
MAKE_FLAGS := \
CCOPT="$(TARGET_CFLAGS)"