2 # Copyright (C) 2006-2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://sourceware.org/pub/valgrind/
16 PKG_HASH:=417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1
18 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
20 PKG_CPE_ID:=cpe:/a:valgrind:valgrind
22 PKG_FIXUP = autoreconf
24 PKG_BUILD_PARALLEL := 1
28 include $(INCLUDE_DIR)/package.mk
29 include $(INCLUDE_DIR)/kernel.mk
31 define Package/valgrind
34 DEPENDS:=@mips||mipsel||i386||x86_64||powerpc||arm_v7||aarch64 +libpthread +librt
35 TITLE:=debugging and profiling tools for Linux
36 URL:=http://www.valgrind.org
39 define Package/valgrind/default
44 define Package/valgrind-cachegrind
45 $(Package/valgrind/default)
46 TITLE += (cache profiling)
49 define Package/valgrind-callgrind
50 $(Package/valgrind/default)
51 TITLE += (callgraph profiling)
54 define Package/valgrind-drd
55 $(Package/valgrind/default)
56 TITLE += (thread error detection)
59 define Package/valgrind-massif
60 $(Package/valgrind/default)
61 TITLE += (heap profiling)
64 define Package/valgrind-helgrind
65 $(Package/valgrind/default)
66 TITLE += (thread debugging)
69 define Package/valgrind-vgdb
70 $(Package/valgrind/default)
71 TITLE += (GDB interface)
74 define Package/valgrind/description
75 Valgrind is an award-winning suite of tools for debugging and
76 profiling Linux programs. With the tools that come with Valgrind,
77 you can automatically detect many memory management and threading
78 bugs, avoiding hours of frustrating bug-hunting, making your
79 programs more stable. You can also perform detailed profiling,
80 to speed up and reduce memory use of your programs.
83 CPU := $(patsubst x86_64,amd64,$(patsubst x86,i386,$(patsubst um,$(ARCH),$(LINUX_KARCH))))
86 UNAME_R=$(LINUX_VERSION)
88 ifeq ($(CONFIG_ARCH_64BIT),y)
103 --disable-valgrindmi \
105 --disable-valgrindtk \
106 --without-included-gettext \
109 define Package/valgrind/install
110 $(INSTALL_DIR) $(1)/usr/bin
111 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/valgrind* $(1)/usr/bin/
112 $(INSTALL_DIR) $(1)/usr/lib/valgrind
114 ./files/default.supp \
115 $(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \
116 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_core*.so \
117 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-core*.xml \
118 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-linux*.xml \
119 $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \
120 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \
121 $(1)/usr/lib/valgrind/
123 ifneq ($(ARCH),aarch64)
125 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(CPU)-*.xml \
126 $(1)/usr/lib/valgrind/
130 define Package/valgrind-cachegrind/install
131 $(INSTALL_DIR) $(1)/usr/bin
132 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cg_* $(1)/usr/bin/
133 $(INSTALL_DIR) $(1)/usr/lib/valgrind
135 $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \
136 $(1)/usr/lib/valgrind/
139 define Package/valgrind-callgrind/install
140 $(INSTALL_DIR) $(1)/usr/bin
141 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/callgrind* $(1)/usr/bin/
142 $(INSTALL_DIR) $(1)/usr/lib/valgrind
144 $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \
145 $(1)/usr/lib/valgrind/
148 define Package/valgrind-drd/install
149 $(INSTALL_DIR) $(1)/usr/lib/valgrind
151 $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \
152 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \
153 $(1)/usr/lib/valgrind/
156 define Package/valgrind-massif/install
157 $(INSTALL_DIR) $(1)/usr/bin
158 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/
159 $(INSTALL_DIR) $(1)/usr/lib/valgrind
161 $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \
162 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \
163 $(1)/usr/lib/valgrind/
166 define Package/valgrind-helgrind/install
167 $(INSTALL_DIR) $(1)/usr/lib/valgrind
169 $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \
170 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \
171 $(1)/usr/lib/valgrind/
174 define Package/valgrind-vgdb/install
175 $(INSTALL_DIR) $(1)/usr/bin
176 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/
179 $(eval $(call BuildPackage,valgrind))
180 $(eval $(call BuildPackage,valgrind-cachegrind))
181 $(eval $(call BuildPackage,valgrind-callgrind))
182 $(eval $(call BuildPackage,valgrind-drd))
183 $(eval $(call BuildPackage,valgrind-massif))
184 $(eval $(call BuildPackage,valgrind-helgrind))
185 $(eval $(call BuildPackage,valgrind-vgdb))