[package] valgrind: update to 3.8.0
[openwrt/svn-archive/archive.git] / utils / valgrind / Makefile
index 695e93557db8a2136f3bd302e82ee8fb997deaf8..3b6a2b2565a79f07e34191b08b432c6245741fd0 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,23 +8,62 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=valgrind
-PKG_VERSION:=3.3.1
+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:=0539e2fa4aadb2cd4ca4bba65b1fe8b5
+PKG_MD5SUM:=ec04dfd1256307432b2a7b520398c526
+
+PKG_FIXUP = autoreconf
+PKG_INSTALL := 1
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/kernel.mk
 
 define Package/valgrind
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=@TARGET_x86||@TARGET_rdc||@TARGET_ps3||@TARGET_magicbox||@TARGET_amcc||@TARGET_uml
-  TITLE:=debugging and profiling Linux programs
+  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,
@@ -34,9 +73,14 @@ define Package/valgrind/description
        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 += \
-       --disable-tls \
        --enable-only32bit \
+       --enable-tls \
        --without-x \
        --without-uiout \
        --disable-valgrindmi \
@@ -44,30 +88,75 @@ CONFIGURE_ARGS += \
        --disable-valgrindtk \
        --without-included-gettext
 
-DEFAULT_SUPP += "uclibc.supp"
+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 Build/Compile
-       $(TARGET_CC) $(TARGET_CFLAGS) -c -o $(PKG_BUILD_DIR)/abort.o ./src/abort.c
-       $(TARGET_CROSS)ar rcu $(PKG_BUILD_DIR)/abort.a $(PKG_BUILD_DIR)/abort.o
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               $(TARGET_CONFIGURE_OPTS) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               CFLAGS="$(TARGET_CFLAGS)" \
-               AM_CFLAGS_X86_LINUX="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR)/coregrind" \
-               AM_CFLAGS_AMD64_LINUX="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR)/coregrind" \
-               AM_CFLAGS_PPC32_LINUX="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR)/coregrind" \
-               AM_CFLAGS_PPC64_LINUX="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR)/coregrind" \
-               TOOL_LDADD_COMMON="$(LIBGCC_S) $(PKG_BUILD_DIR)/abort.a" \
-               all install
+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/install        
+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/* $(1)/usr/bin/
-       $(INSTALL_BIN) ./files/valgrind.sh $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/usr/lib/valgrind
-       $(CP) ./files/uclibc.supp $(1)/usr/lib/valgrind/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/valgrind/*-linux $(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))