1 ################################################################################
5 ################################################################################
7 VALGRIND_VERSION = 3.10.1
8 VALGRIND_SITE = http://valgrind.org/downloads
9 VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2
10 VALGRIND_LICENSE = GPLv2 GFDLv1.2
11 VALGRIND_LICENSE_FILES = COPYING COPYING.DOCS
12 VALGRIND_CONF_OPTS = --disable-tls
13 VALGRIND_AUTORECONF = YES
15 # On ARM, Valgrind only supports ARMv7, and uses the arch part of the
16 # host tuple to determine whether it's being built for ARMv7 or
17 # not. Therefore, we adjust the host tuple to specify we're on
18 # ARMv7. The valgrind package is guaranteed, through Config.in, to
19 # only be selected on ARMv7-A platforms.
20 ifeq ($(BR2_ARM_CPU_ARMV7A),y)
21 VALGRIND_CONF_OPTS += \
22 --host=$(patsubst arm-%,armv7-%,$(GNU_TARGET_NAME))
25 define VALGRIND_INSTALL_UCLIBC_SUPP
26 $(INSTALL) -D -m 0644 package/valgrind/uclibc.supp $(TARGET_DIR)/usr/lib/valgrind/uclibc.supp
29 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_INSTALL_UCLIBC_SUPP
31 ifeq ($(BR2_PACKAGE_VALGRIND_MEMCHECK),)
32 define VALGRIND_REMOVE_MEMCHECK
33 rm -f $(TARGET_DIR)/usr/lib/valgrind/*memcheck*
36 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_MEMCHECK
39 ifeq ($(BR2_PACKAGE_VALGRIND_CACHEGRIND),)
40 define VALGRIND_REMOVE_CACHEGRIND
41 rm -f $(TARGET_DIR)/usr/lib/valgrind/*cachegrind*
42 for i in cg_annotate cg_diff cg_merge; do \
43 rm -f $(TARGET_DIR)/usr/bin/$$i ; \
47 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_CACHEGRIND
50 ifeq ($(BR2_PACKAGE_VALGRIND_CALLGRIND),)
51 define VALGRIND_REMOVE_CALLGRIND
52 rm -f $(TARGET_DIR)/usr/lib/valgrind/*callgrind*
53 for i in callgrind_annotate callgrind_control ; do \
54 rm -f $(TARGET_DIR)/usr/bin/$$i ; \
58 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_CALLGRIND
61 ifeq ($(BR2_PACKAGE_VALGRIND_HELGRIND),)
62 define VALGRIND_REMOVE_HELGRIND
63 rm -f $(TARGET_DIR)/usr/lib/valgrind/*helgrind*
66 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_HELGRIND
69 ifeq ($(BR2_PACKAGE_VALGRIND_DRD),)
70 define VALGRIND_REMOVE_DRD
71 rm -f $(TARGET_DIR)/usr/lib/valgrind/*drd*
74 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_DRD
77 ifeq ($(BR2_PACKAGE_VALGRIND_MASSIF),)
78 define VALGRIND_REMOVE_MASSIF
79 rm -f $(TARGET_DIR)/usr/lib/valgrind/*massif*
80 rm -f $(TARGET_DIR)/usr/bin/ms_script
83 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_MASSIF
86 ifeq ($(BR2_PACKAGE_VALGRIND_DHAT),)
87 define VALGRIND_REMOVE_DHAT
88 rm -f $(TARGET_DIR)/usr/lib/valgrind/*dhat*
91 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_DHAT
94 ifeq ($(BR2_PACKAGE_VALGRIND_SGCHECK),)
95 define VALGRIND_REMOVE_SGCHECK
96 rm -f $(TARGET_DIR)/usr/lib/valgrind/*sgcheck*
99 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_SGCHECK
102 ifeq ($(BR2_PACKAGE_VALGRIND_BBV),)
103 define VALGRIND_REMOVE_BBV
104 rm -f $(TARGET_DIR)/usr/lib/valgrind/*bbv*
107 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_BBV
110 ifeq ($(BR2_PACKAGE_VALGRIND_LACKEY),)
111 define VALGRIND_REMOVE_LACKEY
112 rm -f $(TARGET_DIR)/usr/lib/valgrind/*lackey*
115 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_LACKEY
118 ifeq ($(BR2_PACKAGE_VALGRIND_NULGRIND),)
119 define VALGRIND_REMOVE_NULGRIND
120 rm -f $(TARGET_DIR)/usr/lib/valgrind/*none*
123 VALGRIND_POST_INSTALL_TARGET_HOOKS += VALGRIND_REMOVE_NULGRIND
126 $(eval $(autotools-package))