config BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS
	bool
	default y if BR2_aarch64
	default y if BR2_ARM_CPU_ARMV7A
	default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
	default y if BR2_i386 || BR2_x86_64
	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
	depends on !BR2_MIPS_SOFT_FLOAT

comment "valgrind needs a toolchain w/ dynamic library"
	depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_VALGRIND
	bool "valgrind"
	depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS
	depends on !BR2_STATIC_LIBS
	help
	  Tool for debugging and profiling Linux programs.

	  http://valgrind.org/

if BR2_PACKAGE_VALGRIND

config BR2_PACKAGE_VALGRIND_MEMCHECK
	bool "Memcheck: a memory error detector"
	default y
	help
	  This option allows to install the Memcheck tool

config BR2_PACKAGE_VALGRIND_CACHEGRIND
	bool "Cachegrind: a cache and branch-prediction profiler"
	default y
	help
	  This option allows to install the Cachegrind tool

config BR2_PACKAGE_VALGRIND_CALLGRIND
	bool "Callgrind: a call-graph generating cache and branch prediction profiler"
	default y
	help
	  This option allows to install the Callgrind tool

config BR2_PACKAGE_VALGRIND_HELGRIND
	bool "Helgrind: a thread error detector"
	default y
	help
	  This option allows to install the Helgrind tool

config BR2_PACKAGE_VALGRIND_DRD
	bool "DRD: a thread error detector"
	default y
	help
	  This option allows to install the DRD tool

config BR2_PACKAGE_VALGRIND_MASSIF
	bool "Massif: a heap profiler"
	default y
	help
	  This option allows to install the Massif tool

config BR2_PACKAGE_VALGRIND_DHAT
	bool "DHAT: a dynamic heap analysis tool"
	default y
	help
	  This option allows to install the DHAT tool

config BR2_PACKAGE_VALGRIND_SGCHECK
	bool "SGCheck: an experimental stack and global array overrun detector"
	help
	  This option allows to install the SGCheck tool

config BR2_PACKAGE_VALGRIND_BBV
	bool "BBV: an experimental basic block vector generation tool"
	help
	  This option allows to install the BBV tool

config BR2_PACKAGE_VALGRIND_LACKEY
	bool "Lackey: an example tool"
	help
	  This option allows to install the Lackey tool

config BR2_PACKAGE_VALGRIND_NULGRIND
	bool "Nulgrind: the minimal Valgrind tool"
	help
	  This option allows to install the Nulgrind tool

endif
