blob: ff2b5779a203d893d1b0542dae9b1ce21025c572 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001#
2# Copyright (C) 2008 OpenedHand Ltd.
3#
4
5SUMMARY = "Profiling tools"
6LICENSE = "MIT"
7
8PR = "r3"
9
10PACKAGE_ARCH = "${MACHINE_ARCH}"
11
12inherit packagegroup
13
14PROFILE_TOOLS_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'sysprof', '', d)}"
15# sysprof doesn't support aarch64
16PROFILE_TOOLS_X_aarch64 = ""
17PROFILE_TOOLS_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-analyze', '', d)}"
18
19RRECOMMENDS_${PN} = "\
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050020 ${PERF} \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050021 trace-cmd \
22 blktrace \
23 ${PROFILE_TOOLS_X} \
24 ${PROFILE_TOOLS_SYSTEMD} \
25 "
26
27PROFILETOOLS = "\
28 powertop \
29 latencytop \
30 "
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050031PERF = "perf"
32PERF_libc-musl = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050033
34# systemtap needs elfutils which is not fully buildable on uclibc
35# hence we exclude it from uclibc based builds
36SYSTEMTAP = "systemtap"
37SYSTEMTAP_libc-uclibc = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050038SYSTEMTAP_libc-musl = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050039SYSTEMTAP_mips = ""
40SYSTEMTAP_mips64 = ""
41SYSTEMTAP_mips64n32 = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050042SYSTEMTAP_nios2 = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050043SYSTEMTAP_aarch64 = ""
44
45# lttng-ust uses sched_getcpu() which is not there on uclibc
46# for some of the architectures it can be patched to call the
47# syscall directly but for x86_64 __NR_getcpu is a vsyscall
48# which means we can not use syscall() to call it. So we ignore
49# it for x86_64/uclibc
50
51LTTNGUST = "lttng-ust"
52LTTNGUST_libc-uclibc = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050053LTTNGUST_libc-musl = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050054
55LTTNGTOOLS = "lttng-tools"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050056LTTNGTOOLS_libc-musl = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050057
58LTTNGMODULES = "lttng-modules"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050059
60BABELTRACE = "babeltrace"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050061
62# valgrind does not work on mips
63
64VALGRIND = "valgrind"
65VALGRIND_libc-uclibc = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050066VALGRIND_libc-musl = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050067VALGRIND_mips = ""
68VALGRIND_mips64 = ""
69VALGRIND_mips64n32 = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050070VALGRIND_nios2 = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050071VALGRIND_arm = ""
72VALGRIND_aarch64 = ""
73
Patrick Williamsc124f4f2015-09-15 14:41:29 -050074RDEPENDS_${PN} = "\
75 ${PROFILETOOLS} \
76 ${LTTNGUST} \
77 ${LTTNGTOOLS} \
78 ${LTTNGMODULES} \
79 ${BABELTRACE} \
80 ${SYSTEMTAP} \
81 ${VALGRIND} \
82 "