xref: /OK3568_Linux_fs/buildroot/package/oprofile/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# memory barrier function implemented only for some architectures
2*4882a593Smuzhiyunconfig BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
3*4882a593Smuzhiyun	bool
4*4882a593Smuzhiyun	default y
5*4882a593Smuzhiyun	depends on BR2_arceb || BR2_arcle || BR2_arm || BR2_armeb || \
6*4882a593Smuzhiyun		BR2_aarch64 || BR2_aarch64_be || BR2_i386 || BR2_mips || \
7*4882a593Smuzhiyun		BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc || \
8*4882a593Smuzhiyun		BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \
9*4882a593Smuzhiyun		BR2_sparc || BR2_sparc64 || BR2_x86_64
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunconfig BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
12*4882a593Smuzhiyun	bool
13*4882a593Smuzhiyun	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunconfig BR2_PACKAGE_OPROFILE
16*4882a593Smuzhiyun	bool "oprofile"
17*4882a593Smuzhiyun	depends on BR2_USE_MMU # fork()
18*4882a593Smuzhiyun	depends on BR2_INSTALL_LIBSTDCPP
19*4882a593Smuzhiyun	depends on BR2_USE_WCHAR # binutils
20*4882a593Smuzhiyun	depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
21*4882a593Smuzhiyun	# libpfm4 is needed on PowerPC, and requires thread support
22*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
23*4882a593Smuzhiyun	select BR2_PACKAGE_POPT
24*4882a593Smuzhiyun	select BR2_PACKAGE_BINUTILS
25*4882a593Smuzhiyun	select BR2_PACKAGE_LIBPFM4 if BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
26*4882a593Smuzhiyun	help
27*4882a593Smuzhiyun	  OProfile is a system-wide profiler for Linux systems,
28*4882a593Smuzhiyun	  capable of profiling all running code at low overhead.
29*4882a593Smuzhiyun	  OProfile is released under the GNU GPL.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	  It consists of a kernel driver and a daemon for collecting
32*4882a593Smuzhiyun	  sample data, and several post-profiling tools for turning
33*4882a593Smuzhiyun	  data into information.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	  OProfile leverages the hardware performance counters of the
36*4882a593Smuzhiyun	  CPU to enable profiling of a wide variety of interesting
37*4882a593Smuzhiyun	  statistics, which can also be used for basic time-spent
38*4882a593Smuzhiyun	  profiling. All code is profiled: hardware and software
39*4882a593Smuzhiyun	  interrupt handlers, kernel modules, the kernel, shared
40*4882a593Smuzhiyun	  libraries, and applications.
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun	  https://sourceforge.net/projects/oprofile/
43*4882a593Smuzhiyun
44*4882a593Smuzhiyuncomment "oprofile needs a toolchain w/ C++, wchar"
45*4882a593Smuzhiyun	depends on BR2_USE_MMU
46*4882a593Smuzhiyun	depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
47*4882a593Smuzhiyun	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
48*4882a593Smuzhiyun
49*4882a593Smuzhiyuncomment "oprofile needs a toolchain w/ NPTL on PowerPC(64)"
50*4882a593Smuzhiyun	depends on BR2_USE_MMU && BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
51*4882a593Smuzhiyun	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
52