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 = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'sysprof', '', d)}"
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 = ""
31
32# systemtap needs elfutils which is not fully buildable on some arches/libcs
33SYSTEMTAP = "systemtap"
34SYSTEMTAP_libc-musl = ""
35SYSTEMTAP_nios2 = ""
36SYSTEMTAP_riscv64 = ""
37
38# lttng-ust uses sched_getcpu() which is not there on for some platforms.
39LTTNGUST = "lttng-ust"
40LTTNGUST_arc = ""
41
42LTTNGTOOLS = "lttng-tools"
43LTTNGTOOLS_arc = ""
44
45LTTNGMODULES = "lttng-modules"
46LTTNGMODULES_arc = ""
47
48BABELTRACE = "babeltrace"
49
50# valgrind does not work on the following configurations/architectures
51
52VALGRIND = "valgrind"
53VALGRIND_libc-musl = ""
54VALGRIND_mipsarch = ""
55VALGRIND_nios2 = ""
56VALGRIND_arc = ""
57VALGRIND_armv4 = ""
58VALGRIND_armv5 = ""
59VALGRIND_armv6 = ""
60VALGRIND_armeb = ""
61VALGRIND_aarch64 = ""
62VALGRIND_riscv64 = ""
63VALGRIND_linux-gnux32 = ""
64VALGRIND_linux-gnun32 = ""
65
66RDEPENDS_${PN} = "\
67    ${PROFILETOOLS} \
68    ${LTTNGUST} \
69    ${LTTNGTOOLS} \
70    ${LTTNGMODULES} \
71    ${BABELTRACE} \
72    ${SYSTEMTAP} \
73    ${VALGRIND} \
74    "
75