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://valgrind.org/downloads/
16 PKG_MD5SUM:=288758010b271119a0ffc0183f1d6e38
18 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
20 PKG_FIXUP = autoreconf
22 PKG_BUILD_PARALLEL := 1
25 include $(INCLUDE_DIR)/package.mk
26 include $(INCLUDE_DIR)/kernel.mk
28 define Package/valgrind
31 DEPENDS:=@mips||mipsel||i386||x86_64||powerpc||arm_v7 +libpthread +librt
32 TITLE:=debugging and profiling tools for Linux
33 URL:=http://www.valgrind.org
36 define Package/valgrind/default
41 define Package/valgrind-cachegrind
42 $(Package/valgrind/default)
43 TITLE += (cache profiling)
46 define Package/valgrind-callgrind
47 $(Package/valgrind/default)
48 TITLE += (callgraph profiling)
51 define Package/valgrind-drd
52 $(Package/valgrind/default)
53 TITLE += (thread error detection)
56 define Package/valgrind-massif
57 $(Package/valgrind/default)
58 TITLE += (heap profiling)
61 define Package/valgrind-helgrind
62 $(Package/valgrind/default)
63 TITLE += (thread debugging)
66 define Package/valgrind-vgdb
67 $(Package/valgrind/default)
68 TITLE += (GDB interface)
71 define Package/valgrind/description
72 Valgrind is an award-winning suite of tools for debugging and
73 profiling Linux programs. With the tools that come with Valgrind,
74 you can automatically detect many memory management and threading
75 bugs, avoiding hours of frustrating bug-hunting, making your
76 programs more stable. You can also perform detailed profiling,
77 to speed up and reduce memory use of your programs.
80 CPU := $(patsubst x86_64,amd64,$(patsubst x86,i386,$(LINUX_KARCH)))
83 UNAME_R=$(LINUX_VERSION)
97 --disable-valgrindmi \
99 --disable-valgrindtk \
100 --without-included-gettext
102 define Package/valgrind/install
103 $(INSTALL_DIR) $(1)/usr/bin
104 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/valgrind* $(1)/usr/bin/
105 $(INSTALL_DIR) $(1)/usr/lib/valgrind
107 ./files/default.supp \
108 $(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \
109 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_core*.so \
110 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(CPU)-*.xml \
111 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-core*.xml \
112 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-linux*.xml \
113 $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \
114 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \
115 $(1)/usr/lib/valgrind/
118 define Package/valgrind-cachegrind/install
119 $(INSTALL_DIR) $(1)/usr/bin
120 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cg_* $(1)/usr/bin/
121 $(INSTALL_DIR) $(1)/usr/lib/valgrind
123 $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \
124 $(1)/usr/lib/valgrind/
127 define Package/valgrind-callgrind/install
128 $(INSTALL_DIR) $(1)/usr/bin
129 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/callgrind* $(1)/usr/bin/
130 $(INSTALL_DIR) $(1)/usr/lib/valgrind
132 $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \
133 $(1)/usr/lib/valgrind/
136 define Package/valgrind-drd/install
137 $(INSTALL_DIR) $(1)/usr/lib/valgrind
139 $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \
140 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \
141 $(1)/usr/lib/valgrind/
144 define Package/valgrind-massif/install
145 $(INSTALL_DIR) $(1)/usr/bin
146 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/
147 $(INSTALL_DIR) $(1)/usr/lib/valgrind
149 $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \
150 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \
151 $(1)/usr/lib/valgrind/
154 define Package/valgrind-helgrind/install
155 $(INSTALL_DIR) $(1)/usr/lib/valgrind
157 $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \
158 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \
159 $(1)/usr/lib/valgrind/
162 define Package/valgrind-vgdb/install
163 $(INSTALL_DIR) $(1)/usr/bin
164 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/
167 $(eval $(call BuildPackage,valgrind))
168 $(eval $(call BuildPackage,valgrind-cachegrind))
169 $(eval $(call BuildPackage,valgrind-callgrind))
170 $(eval $(call BuildPackage,valgrind-drd))
171 $(eval $(call BuildPackage,valgrind-massif))
172 $(eval $(call BuildPackage,valgrind-helgrind))
173 $(eval $(call BuildPackage,valgrind-vgdb))