123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- #
- # 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
- PKG_VERSION:=3.21.0
- PKG_RELEASE:=1
- PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
- PKG_SOURCE_URL:=https://sourceware.org/pub/valgrind/
- PKG_HASH:=10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971
- 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
- CONFIGURE_ARGS += \
- --enable-lto \
- --enable-tls \
- --without-x \
- --without-mpicc \
- --without-uiout \
- --disable-valgrindmi \
- --disable-tui \
- --disable-valgrindtk \
- --without-included-gettext \
- --with-pagesize=4 \
- 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))
|