Add more license tags with SPDX identifiers
[openwrt/staging/wigyori.git] / package / devel / valgrind / Makefile
1 #
2 # Copyright (C) 2006-2013 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=valgrind
11 PKG_VERSION:=3.10.0
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://valgrind.org/downloads/
16 PKG_MD5SUM:=7c311a72a20388aceced1aa5573ce970
17
18 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
19 PKG_LICENSE:=GPL-2.0+
20
21 PKG_LICENSE:=GPL-2.0+
22 PKG_LICENSE_FILES:=COPYING
23
24 PKG_FIXUP = autoreconf
25 PKG_INSTALL := 1
26 PKG_BUILD_PARALLEL := 1
27 PKG_USE_MIPS16:=0
28
29 include $(INCLUDE_DIR)/package.mk
30 include $(INCLUDE_DIR)/kernel.mk
31
32 define Package/valgrind
33 SECTION:=devel
34 CATEGORY:=Development
35 DEPENDS:=@mips||mipsel||i386||x86_64||powerpc||arm_v7 +libpthread +librt
36 TITLE:=debugging and profiling tools for Linux
37 URL:=http://www.valgrind.org
38 endef
39
40 define Package/valgrind/default
41 $(Package/valgrind)
42 DEPENDS := valgrind
43 endef
44
45 define Package/valgrind-cachegrind
46 $(Package/valgrind/default)
47 TITLE += (cache profiling)
48 endef
49
50 define Package/valgrind-callgrind
51 $(Package/valgrind/default)
52 TITLE += (callgraph profiling)
53 endef
54
55 define Package/valgrind-drd
56 $(Package/valgrind/default)
57 TITLE += (thread error detection)
58 endef
59
60 define Package/valgrind-massif
61 $(Package/valgrind/default)
62 TITLE += (heap profiling)
63 endef
64
65 define Package/valgrind-helgrind
66 $(Package/valgrind/default)
67 TITLE += (thread debugging)
68 endef
69
70 define Package/valgrind-vgdb
71 $(Package/valgrind/default)
72 TITLE += (GDB interface)
73 endef
74
75 define Package/valgrind/description
76 Valgrind is an award-winning suite of tools for debugging and
77 profiling Linux programs. With the tools that come with Valgrind,
78 you can automatically detect many memory management and threading
79 bugs, avoiding hours of frustrating bug-hunting, making your
80 programs more stable. You can also perform detailed profiling,
81 to speed up and reduce memory use of your programs.
82 endef
83
84 CPU := $(patsubst x86_64,amd64,$(patsubst x86,i386,$(patsubst um,$(ARCH),$(LINUX_KARCH))))
85
86 CONFIGURE_VARS += \
87 UNAME_R=$(LINUX_VERSION)
88
89 ifeq ($(ARCH),x86_64)
90 CONFIGURE_ARGS += \
91 --enable-only64bit
92 BITS := 64bit
93 else
94 CONFIGURE_ARGS += \
95 --enable-only32bit
96 BITS := 32bit
97 endif
98
99 CONFIGURE_ARGS += \
100 --enable-tls \
101 --without-x \
102 --without-mpicc \
103 --without-uiout \
104 --disable-valgrindmi \
105 --disable-tui \
106 --disable-valgrindtk \
107 --without-included-gettext
108
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
113 $(CP) \
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/$(CPU)-*.xml \
118 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-core*.xml \
119 $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(BITS)-linux*.xml \
120 $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \
121 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \
122 $(1)/usr/lib/valgrind/
123 endef
124
125 define Package/valgrind-cachegrind/install
126 $(INSTALL_DIR) $(1)/usr/bin
127 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cg_* $(1)/usr/bin/
128 $(INSTALL_DIR) $(1)/usr/lib/valgrind
129 $(CP) \
130 $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \
131 $(1)/usr/lib/valgrind/
132 endef
133
134 define Package/valgrind-callgrind/install
135 $(INSTALL_DIR) $(1)/usr/bin
136 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/callgrind* $(1)/usr/bin/
137 $(INSTALL_DIR) $(1)/usr/lib/valgrind
138 $(CP) \
139 $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \
140 $(1)/usr/lib/valgrind/
141 endef
142
143 define Package/valgrind-drd/install
144 $(INSTALL_DIR) $(1)/usr/lib/valgrind
145 $(CP) \
146 $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \
147 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \
148 $(1)/usr/lib/valgrind/
149 endef
150
151 define Package/valgrind-massif/install
152 $(INSTALL_DIR) $(1)/usr/bin
153 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/
154 $(INSTALL_DIR) $(1)/usr/lib/valgrind
155 $(CP) \
156 $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \
157 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \
158 $(1)/usr/lib/valgrind/
159 endef
160
161 define Package/valgrind-helgrind/install
162 $(INSTALL_DIR) $(1)/usr/lib/valgrind
163 $(CP) \
164 $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \
165 $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \
166 $(1)/usr/lib/valgrind/
167 endef
168
169 define Package/valgrind-vgdb/install
170 $(INSTALL_DIR) $(1)/usr/bin
171 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/
172 endef
173
174 $(eval $(call BuildPackage,valgrind))
175 $(eval $(call BuildPackage,valgrind-cachegrind))
176 $(eval $(call BuildPackage,valgrind-callgrind))
177 $(eval $(call BuildPackage,valgrind-drd))
178 $(eval $(call BuildPackage,valgrind-massif))
179 $(eval $(call BuildPackage,valgrind-helgrind))
180 $(eval $(call BuildPackage,valgrind-vgdb))