strace: Update to version 5.0
[openwrt/openwrt.git] / package / devel / strace / Makefile
index 4c29d69cdaf56cb5d61846f50c75f4a960d87c6f..2d4332bf79620b15441ce6ff719d3408cf4dc2e7 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,28 +9,45 @@ include $(TOPDIR)/rules.mk
 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
 
@@ -39,6 +56,26 @@ 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
+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)"