|
@@ -0,0 +1,164 @@
|
|
|
+#
|
|
|
+# Copyright (C) 2006-2012 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.8.0
|
|
|
+PKG_RELEASE:=1
|
|
|
+
|
|
|
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
|
|
+PKG_SOURCE_URL:=http://valgrind.org/downloads/
|
|
|
+PKG_MD5SUM:=ec04dfd1256307432b2a7b520398c526
|
|
|
+
|
|
|
+PKG_MAINTAINER:=Felix Fietkau <[email protected]>
|
|
|
+
|
|
|
+PKG_FIXUP = autoreconf
|
|
|
+PKG_INSTALL := 1
|
|
|
+
|
|
|
+include $(INCLUDE_DIR)/package.mk
|
|
|
+include $(INCLUDE_DIR)/kernel.mk
|
|
|
+
|
|
|
+define Package/valgrind
|
|
|
+ SECTION:=utils
|
|
|
+ CATEGORY:=Utilities
|
|
|
+ DEPENDS:=@mips||mipsel||i386||powerpc||TARGET_omap4 +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,i386,$(LINUX_KARCH))
|
|
|
+
|
|
|
+CONFIGURE_VARS += \
|
|
|
+ UNAME_R=$(LINUX_VERSION)
|
|
|
+
|
|
|
+CONFIGURE_ARGS += \
|
|
|
+ --enable-only32bit \
|
|
|
+ --enable-tls \
|
|
|
+ --without-x \
|
|
|
+ --without-uiout \
|
|
|
+ --disable-valgrindmi \
|
|
|
+ --disable-tui \
|
|
|
+ --disable-valgrindtk \
|
|
|
+ --without-included-gettext
|
|
|
+
|
|
|
+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/$(CPU)-*.xml \
|
|
|
+ $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-core*.xml \
|
|
|
+ $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-linux*.xml \
|
|
|
+ $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \
|
|
|
+ $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \
|
|
|
+ $(1)/usr/lib/valgrind/
|
|
|
+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/
|
|
|
+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/
|
|
|
+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/
|
|
|
+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/
|
|
|
+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/
|
|
|
+endef
|
|
|
+
|
|
|
+define Package/valgrind-vgdb/install
|
|
|
+ $(INSTALL_DIR) $(1)/usr/bin
|
|
|
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/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))
|