openwrt/package/devel/valgrind/Makefile

201 lines
6.2 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=valgrind
valgrind: Update to version 3.23 Release notes: https://valgrind.org/docs/manual/dist.news.html The patch `130-fix_arm_arch_detection.patch` was added upstream in https://sourceware.org/git/?p=valgrind.git;a=commitdiff;h=5bdb86cc9a962f04f2dd3816b7d3a96288b09b72 Replace `010-mips-Fix-new-syscall-numbers.patch` with backport from upstream. Backport patch `020-no-member-guest_IP_AT_SYSCALL.patch` to fix a compile problem on MIPS. Small size increase: 1527884 bin/packages/mips_24kc-old/base/valgrind_3.22.0-r1_mips_24kc.ipk 3352210 bin/packages/mips_24kc-old/base/valgrind-cachegrind_3.22.0-r1_mips_24kc.ipk 3522982 bin/packages/mips_24kc-old/base/valgrind-callgrind_3.22.0-r1_mips_24kc.ipk 3573577 bin/packages/mips_24kc-old/base/valgrind-drd_3.22.0-r1_mips_24kc.ipk 3647835 bin/packages/mips_24kc-old/base/valgrind-helgrind_3.22.0-r1_mips_24kc.ipk 3383239 bin/packages/mips_24kc-old/base/valgrind-massif_3.22.0-r1_mips_24kc.ipk 22332 bin/packages/mips_24kc-old/base/valgrind-vgdb_3.22.0-r1_mips_24kc.ipk 1541969 bin/packages/mips_24kc-new/base/valgrind_3.23.0-r1_mips_24kc.ipk 3378595 bin/packages/mips_24kc-new/base/valgrind-cachegrind_3.23.0-r1_mips_24kc.ipk 3548415 bin/packages/mips_24kc-new/base/valgrind-callgrind_3.23.0-r1_mips_24kc.ipk 3592715 bin/packages/mips_24kc-new/base/valgrind-drd_3.23.0-r1_mips_24kc.ipk 3664706 bin/packages/mips_24kc-new/base/valgrind-helgrind_3.23.0-r1_mips_24kc.ipk 3411485 bin/packages/mips_24kc-new/base/valgrind-massif_3.23.0-r1_mips_24kc.ipk 22869 bin/packages/mips_24kc-new/base/valgrind-vgdb_3.23.0-r1_mips_24kc.ipk Link: https://github.com/openwrt/openwrt/pull/16584 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-03 16:24:13 +00:00
PKG_VERSION:=3.23.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://sourceware.org/pub/valgrind/
valgrind: Update to version 3.23 Release notes: https://valgrind.org/docs/manual/dist.news.html The patch `130-fix_arm_arch_detection.patch` was added upstream in https://sourceware.org/git/?p=valgrind.git;a=commitdiff;h=5bdb86cc9a962f04f2dd3816b7d3a96288b09b72 Replace `010-mips-Fix-new-syscall-numbers.patch` with backport from upstream. Backport patch `020-no-member-guest_IP_AT_SYSCALL.patch` to fix a compile problem on MIPS. Small size increase: 1527884 bin/packages/mips_24kc-old/base/valgrind_3.22.0-r1_mips_24kc.ipk 3352210 bin/packages/mips_24kc-old/base/valgrind-cachegrind_3.22.0-r1_mips_24kc.ipk 3522982 bin/packages/mips_24kc-old/base/valgrind-callgrind_3.22.0-r1_mips_24kc.ipk 3573577 bin/packages/mips_24kc-old/base/valgrind-drd_3.22.0-r1_mips_24kc.ipk 3647835 bin/packages/mips_24kc-old/base/valgrind-helgrind_3.22.0-r1_mips_24kc.ipk 3383239 bin/packages/mips_24kc-old/base/valgrind-massif_3.22.0-r1_mips_24kc.ipk 22332 bin/packages/mips_24kc-old/base/valgrind-vgdb_3.22.0-r1_mips_24kc.ipk 1541969 bin/packages/mips_24kc-new/base/valgrind_3.23.0-r1_mips_24kc.ipk 3378595 bin/packages/mips_24kc-new/base/valgrind-cachegrind_3.23.0-r1_mips_24kc.ipk 3548415 bin/packages/mips_24kc-new/base/valgrind-callgrind_3.23.0-r1_mips_24kc.ipk 3592715 bin/packages/mips_24kc-new/base/valgrind-drd_3.23.0-r1_mips_24kc.ipk 3664706 bin/packages/mips_24kc-new/base/valgrind-helgrind_3.23.0-r1_mips_24kc.ipk 3411485 bin/packages/mips_24kc-new/base/valgrind-massif_3.23.0-r1_mips_24kc.ipk 22869 bin/packages/mips_24kc-new/base/valgrind-vgdb_3.23.0-r1_mips_24kc.ipk Link: https://github.com/openwrt/openwrt/pull/16584 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-03 16:24:13 +00:00
PKG_HASH:=c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=GPL-2.0+
PKG_CPE_ID:=cpe:/a:valgrind:valgrind
PKG_FIXUP = autoreconf
PKG_INSTALL := 1
PKG_BUILD_PARALLEL := 1
PKG_BUILD_FLAGS:=no-mips16
PKG_SSP:=0
STRIP:=:
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
define Package/valgrind
SECTION:=devel
CATEGORY:=Development
DEPENDS:=@mips||mipsel||mips64||mips64el||i386||x86_64||powerpc||arm_v7||aarch64 +libpthread +librt
TITLE:=debugging and profiling tools for Linux
URL:=http://www.valgrind.org
endef
define Package/valgrind/default
$(Package/valgrind)
DEPENDS := valgrind
endef
define Package/valgrind-cachegrind
$(Package/valgrind/default)
TITLE += (cache profiling)
endef
define Package/valgrind-callgrind
$(Package/valgrind/default)
TITLE += (callgraph profiling)
endef
define Package/valgrind-drd
$(Package/valgrind/default)
TITLE += (thread error detection)
endef
define Package/valgrind-massif
$(Package/valgrind/default)
TITLE += (heap profiling)
endef
define Package/valgrind-helgrind
$(Package/valgrind/default)
TITLE += (thread debugging)
endef
define Package/valgrind-vgdb
$(Package/valgrind/default)
TITLE += (GDB interface)
endef
define Package/valgrind/description
Valgrind is an award-winning suite of tools for debugging and
profiling Linux programs. With the tools that come with Valgrind,
you can automatically detect many memory management and threading
bugs, avoiding hours of frustrating bug-hunting, making your
programs more stable. You can also perform detailed profiling,
to speed up and reduce memory use of your programs.
endef
CPU := $(patsubst x86_64,amd64,$(patsubst x86,i386,$(patsubst um,$(ARCH),$(LINUX_KARCH))))
CONFIGURE_VARS += \
UNAME_R=$(LINUX_VERSION)
ifeq ($(CONFIG_ARCH_64BIT),y)
CONFIGURE_ARGS += \
--enable-only64bit
BITS := 64bit
else
CONFIGURE_ARGS += \
--enable-only32bit
BITS := 32bit
endif
ifeq ($(CONFIG_arm_v7),y)
CONFIGURE_ARGS += --host=armv7-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))
endif
CONFIGURE_ARGS += \
--enable-lto \
--enable-tls \
--without-mpicc \
define Package/valgrind/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/valgrind* $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/valgrind
$(CP) \
./files/default.supp \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_core*.so \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-core*.xml \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-linux*.xml \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \
$(1)/usr/lib/valgrind/
ifneq ($(ARCH),aarch64)
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/$(CPU)-*.xml \
$(1)/usr/lib/valgrind/
endif
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-*
endef
define Package/valgrind-cachegrind/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cg_* $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/valgrind
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \
$(1)/usr/lib/valgrind/
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-*
endef
define Package/valgrind-callgrind/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/callgrind* $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/valgrind
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \
$(1)/usr/lib/valgrind/
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-*
endef
define Package/valgrind-drd/install
$(INSTALL_DIR) $(1)/usr/lib/valgrind
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \
$(1)/usr/lib/valgrind/
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-*
endef
define Package/valgrind-massif/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/valgrind
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \
$(1)/usr/lib/valgrind/
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-*
endef
define Package/valgrind-helgrind/install
$(INSTALL_DIR) $(1)/usr/lib/valgrind
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \
$(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \
$(1)/usr/lib/valgrind/
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-*
endef
define Package/valgrind-vgdb/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/
$(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin
endef
$(eval $(call BuildPackage,valgrind))
$(eval $(call BuildPackage,valgrind-cachegrind))
$(eval $(call BuildPackage,valgrind-callgrind))
$(eval $(call BuildPackage,valgrind-drd))
$(eval $(call BuildPackage,valgrind-massif))
$(eval $(call BuildPackage,valgrind-helgrind))
$(eval $(call BuildPackage,valgrind-vgdb))