2 # Copyright (C) 2006-2011 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
12 PKG_VERSION:=3.7.0+svn_$(PKG_REV)
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=svn://svn.valgrind.org/valgrind/trunk
17 PKG_SOURCE_SUBDIR=$(PKG_NAME)-$(PKG_VERSION)
18 PKG_SOURCE_VERSION:=$(PKG_REV)
19 PKG_MIRROR_MD5SUM:=841cfcaf265fae0b866c6cb4c563e3c0
21 PKG_FIXUP = autoreconf
24 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/kernel.mk
29 define Package/valgrind
32 DEPENDS:=@mips||mipsel||i386||arm||armeb||powerpc +libpthread +librt
33 TITLE:=debugging and profiling tools for Linux
34 URL:=http://www.valgrind.org
37 define Package/valgrind/default
42 define Package/valgrind-cachegrind
43 $(Package/valgrind/default)
44 TITLE += (cache profiling)
47 define Package/valgrind-callgrind
48 $(Package/valgrind/default)
49 TITLE += (callgraph profiling)
52 define Package/valgrind-drd
53 $(Package/valgrind/default)
54 TITLE += (thread error detection)
57 define Package/valgrind-massif
58 $(Package/valgrind/default)
59 TITLE += (heap profiling)
62 define Package/valgrind-helgrind
63 $(Package/valgrind/default)
64 TITLE += (thread debugging)
67 define Package/valgrind-vgdb
68 $(Package/valgrind/default)
69 TITLE += (GDB interface)
72 define Package/valgrind/description
73 Valgrind is an award-winning suite of tools for debugging and
74 profiling Linux programs. With the tools that come with Valgrind,
75 you can automatically detect many memory management and threading
76 bugs, avoiding hours of frustrating bug-hunting, making your
77 programs more stable. You can also perform detailed profiling,
78 to speed up and reduce memory use of your programs.
81 CPU := $(patsubst x86,i386,$(LINUX_KARCH))
84 UNAME_R=$(LINUX_VERSION)
91 --disable-valgrindmi \
93 --disable-valgrindtk \
94 --without-included-gettext
96 define Package/valgrind/install
97 $(INSTALL_DIR) $(1)/usr/bin
98 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/valgrind* $(1)/usr/bin/
99 $(INSTALL_DIR) $(1)/usr/lib/valgrind
101 ./files/default.supp \
102 $(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \
103 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_core*.so \
104 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(CPU)-*.xml \
105 $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-core*.xml \
106 $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-linux*.xml \
107 $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \
108 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \
109 $(1)/usr/lib/valgrind/
112 define Package/valgrind-cachegrind/install
113 $(INSTALL_DIR) $(1)/usr/bin
114 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cg_* $(1)/usr/bin/
115 $(INSTALL_DIR) $(1)/usr/lib/valgrind
117 $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \
118 $(1)/usr/lib/valgrind/
121 define Package/valgrind-callgrind/install
122 $(INSTALL_DIR) $(1)/usr/bin
123 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/callgrind* $(1)/usr/bin/
124 $(INSTALL_DIR) $(1)/usr/lib/valgrind
126 $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \
127 $(1)/usr/lib/valgrind/
130 define Package/valgrind-drd/install
131 $(INSTALL_DIR) $(1)/usr/lib/valgrind
133 $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \
134 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \
135 $(1)/usr/lib/valgrind/
138 define Package/valgrind-massif/install
139 $(INSTALL_DIR) $(1)/usr/bin
140 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/
141 $(INSTALL_DIR) $(1)/usr/lib/valgrind
143 $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \
144 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \
145 $(1)/usr/lib/valgrind/
148 define Package/valgrind-helgrind/install
149 $(INSTALL_DIR) $(1)/usr/lib/valgrind
151 $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \
152 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \
153 $(1)/usr/lib/valgrind/
156 define Package/valgrind-vgdb/install
157 $(INSTALL_DIR) $(1)/usr/bin
158 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/
161 $(eval $(call BuildPackage,valgrind))
162 $(eval $(call BuildPackage,valgrind-cachegrind))
163 $(eval $(call BuildPackage,valgrind-callgrind))
164 $(eval $(call BuildPackage,valgrind-drd))
165 $(eval $(call BuildPackage,valgrind-massif))
166 $(eval $(call BuildPackage,valgrind-helgrind))
167 $(eval $(call BuildPackage,valgrind-vgdb))