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
:=https
://sourceware.org
/pub
/valgrind
/
16 PKG_HASH
:=c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d
18 PKG_MAINTAINER
:=Felix Fietkau
<nbd@nbd.name
>
20 PKG_CPE_ID
:=cpe
:/a
:valgrind
:valgrind
22 PKG_FIXUP
= autoreconf
24 PKG_BUILD_PARALLEL
:= 1
25 PKG_BUILD_FLAGS
:=no-mips16
30 include $(INCLUDE_DIR
)/package.mk
31 include $(INCLUDE_DIR
)/kernel.mk
33 define Package
/valgrind
36 DEPENDS
:=@mips||mipsel||mips64||mips64el||i386||x86_64||powerpc||arm_v7||aarch64
+libpthread
+librt
37 TITLE
:=debugging and profiling tools for Linux
38 URL
:=http
://www.valgrind.org
41 define Package
/valgrind
/default
46 define Package
/valgrind-cachegrind
47 $(Package
/valgrind
/default
)
48 TITLE
+= (cache profiling
)
51 define Package
/valgrind-callgrind
52 $(Package
/valgrind
/default
)
53 TITLE
+= (callgraph profiling
)
56 define Package
/valgrind-drd
57 $(Package
/valgrind
/default
)
58 TITLE
+= (thread error detection
)
61 define Package
/valgrind-massif
62 $(Package
/valgrind
/default
)
63 TITLE
+= (heap profiling
)
66 define Package
/valgrind-helgrind
67 $(Package
/valgrind
/default
)
68 TITLE
+= (thread debugging
)
71 define Package
/valgrind-vgdb
72 $(Package
/valgrind
/default
)
73 TITLE
+= (GDB interface
)
76 define Package
/valgrind
/description
77 Valgrind is an award-winning suite of tools for debugging and
78 profiling Linux programs. With the tools that come with Valgrind
,
79 you can automatically detect many memory management and threading
80 bugs
, avoiding hours of frustrating bug-hunting
, making your
81 programs more stable. You can also perform detailed profiling
,
82 to speed up and reduce memory use of your programs.
85 CPU
:= $(patsubst x86_64
,amd64
,$(patsubst x86
,i386
,$(patsubst um
,$(ARCH
),$(LINUX_KARCH
))))
88 UNAME_R
=$(LINUX_VERSION
)
90 ifeq ($(CONFIG_ARCH_64BIT
),y
)
100 ifeq ($(CONFIG_arm_v7
),y
)
101 CONFIGURE_ARGS
+= --host
=armv7-openwrt-linux
$(if
$(TARGET_SUFFIX
),-$(TARGET_SUFFIX
))
109 define Package
/valgrind
/install
110 $(INSTALL_DIR
) $(1)/usr
/bin
111 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/valgrind
* $(1)/usr
/bin
/
112 $(INSTALL_DIR
) $(1)/usr
/lib
/valgrind
114 .
/files
/default.supp \
115 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/none-
* \
116 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/vgpreload_core
*.so \
117 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/$(BITS
)-core
*.xml \
118 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/$(BITS
)-linux
*.xml \
119 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/memcheck-
* \
120 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/vgpreload_memcheck
*.so \
121 $(1)/usr
/lib
/valgrind
/
123 ifneq ($(ARCH
),aarch64
)
125 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/$(CPU
)-*.xml \
126 $(1)/usr
/lib
/valgrind
/
128 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/bin
129 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip -g",$(RSTRIP
)) \
130 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/none-
* \
131 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/memcheck-
*
134 define Package
/valgrind-cachegrind
/install
135 $(INSTALL_DIR
) $(1)/usr
/bin
136 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/cg_
* $(1)/usr
/bin
/
137 $(INSTALL_DIR
) $(1)/usr
/lib
/valgrind
139 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/cachegrind-
* \
140 $(1)/usr
/lib
/valgrind
/
141 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/bin
142 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip -g",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/cachegrind-
*
145 define Package
/valgrind-callgrind
/install
146 $(INSTALL_DIR
) $(1)/usr
/bin
147 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/callgrind
* $(1)/usr
/bin
/
148 $(INSTALL_DIR
) $(1)/usr
/lib
/valgrind
150 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/callgrind-
* \
151 $(1)/usr
/lib
/valgrind
/
152 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/bin
153 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip -g",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/callgrind-
*
156 define Package
/valgrind-drd
/install
157 $(INSTALL_DIR
) $(1)/usr
/lib
/valgrind
159 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/drd-
* \
160 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/vgpreload_drd
*.so \
161 $(1)/usr
/lib
/valgrind
/
162 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/bin
163 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip -g",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/drd-
*
166 define Package
/valgrind-massif
/install
167 $(INSTALL_DIR
) $(1)/usr
/bin
168 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/ms_print
$(1)/usr
/bin
/
169 $(INSTALL_DIR
) $(1)/usr
/lib
/valgrind
171 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/massif-
* \
172 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/vgpreload_massif
*.so \
173 $(1)/usr
/lib
/valgrind
/
174 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/bin
175 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip -g",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/massif-
*
178 define Package
/valgrind-helgrind
/install
179 $(INSTALL_DIR
) $(1)/usr
/lib
/valgrind
181 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/helgrind-
* \
182 $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/vgpreload_helgrind
*.so \
183 $(1)/usr
/lib
/valgrind
/
184 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/bin
185 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip -g",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/lib
/valgrind
/helgrind-
*
188 define Package
/valgrind-vgdb
/install
189 $(INSTALL_DIR
) $(1)/usr
/bin
190 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/vgdb
$(1)/usr
/bin
/
191 $(patsubst STRIP
=%,STRIP
="$(TARGET_CROSS)strip",$(RSTRIP
)) $(PKG_INSTALL_DIR
)/usr
/bin
194 $(eval
$(call BuildPackage
,valgrind
))
195 $(eval
$(call BuildPackage
,valgrind-cachegrind
))
196 $(eval
$(call BuildPackage
,valgrind-callgrind
))
197 $(eval
$(call BuildPackage
,valgrind-drd
))
198 $(eval
$(call BuildPackage
,valgrind-massif
))
199 $(eval
$(call BuildPackage
,valgrind-helgrind
))
200 $(eval
$(call BuildPackage
,valgrind-vgdb
))