config BR2_PACKAGE_OPROFILE
	bool "oprofile"
	depends on BR2_USE_MMU # fork()
	select BR2_PACKAGE_POPT
	select BR2_PACKAGE_BINUTILS
	select BR2_PACKAGE_LIBPFM4 if BR2_powerpc
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_aarch64 && !BR2_nios2 # binutils
	depends on !BR2_xtensa
	# libpfm4 is needed on PowerPC, and requires thread support
	depends on BR2_TOOLCHAIN_HAS_THREADS || !BR2_powerpc
	help
	  OProfile is a system-wide profiler for Linux systems,
	  capable of profiling all running code at low overhead.
	  OProfile is released under the GNU GPL.

	  It consists of a kernel driver and a daemon for collecting
	  sample data, and several post-profiling tools for turning
	  data into information.

	  OProfile leverages the hardware performance counters of the
	  CPU to enable profiling of a wide variety of interesting
	  statistics, which can also be used for basic time-spent
	  profiling. All code is profiled: hardware and software
	  interrupt handlers, kernel modules, the kernel, shared
	  libraries, and applications.

comment "oprofile needs a toolchain w/ C++"
	depends on BR2_USE_MMU
	depends on !BR2_aarch64 && !BR2_nios2 && !BR2_xtensa
	depends on !BR2_INSTALL_LIBSTDCPP

comment "oprofile needs a toolchain w/ threads on PPC"
	depends on BR2_USE_MMU && BR2_powerpc
	depends on !BR2_TOOLCHAIN_HAS_THREADS
