xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#
2# Copyright (C) 2008 OpenedHand Ltd.
3#
4
5SUMMARY = "Profiling tools"
6
7PR = "r3"
8
9PACKAGE_ARCH = "${MACHINE_ARCH}"
10
11inherit packagegroup
12
13PROFILE_TOOLS_X = ""
14# sysprof doesn't support aarch64 and nios2
15PROFILE_TOOLS_X:aarch64 = ""
16PROFILE_TOOLS_X:nios2 = ""
17PROFILE_TOOLS_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-analyze', '', d)}"
18
19RRECOMMENDS:${PN} = "\
20    ${PERF} \
21    blktrace \
22    ${PROFILE_TOOLS_X} \
23    ${PROFILE_TOOLS_SYSTEMD} \
24    "
25
26PROFILETOOLS = "\
27    powertop \
28    "
29PERF = "perf"
30PERF:libc-musl = ""
31PERF:libc-musl:arm = "perf"
32PERF:riscv32 = ""
33
34# systemtap needs elfutils which is not fully buildable on some arches/libcs
35SYSTEMTAP = "systemtap"
36SYSTEMTAP:libc-musl = ""
37SYSTEMTAP:nios2 = ""
38SYSTEMTAP:riscv32 = ""
39
40LTTNGTOOLS = "lttng-tools"
41LTTNGTOOLS:arc = ""
42LTTNGTOOLS:riscv32 = ""
43
44BABELTRACE = "babeltrace"
45BABELTRACE2 = "babeltrace2"
46
47# valgrind does not work on the following configurations/architectures
48
49VALGRIND = "valgrind"
50VALGRIND:libc-musl = ""
51VALGRIND:mipsarch = ""
52VALGRIND:nios2 = ""
53VALGRIND:arc = ""
54VALGRIND:armv4 = ""
55VALGRIND:armv5 = ""
56VALGRIND:armv6 = ""
57VALGRIND:armeb = ""
58VALGRIND:aarch64 = ""
59VALGRIND:riscv64 = ""
60VALGRIND:riscv32 = ""
61VALGRIND:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', '', 'valgrind', d)}"
62VALGRIND:linux-gnux32 = ""
63VALGRIND:linux-gnun32 = ""
64
65RDEPENDS:${PN} = "\
66    ${PROFILETOOLS} \
67    ${LTTNGTOOLS} \
68    ${BABELTRACE} \
69    ${BABELTRACE2} \
70    ${SYSTEMTAP} \
71    ${VALGRIND} \
72    "
73