blob: 946c947c8f6dd2850e7eb5721b89ba26661ca7a1 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001#
2# Copyright (C) 2008 OpenedHand Ltd.
3#
4
5SUMMARY = "Profiling tools"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05006
7PR = "r3"
8
9PACKAGE_ARCH = "${MACHINE_ARCH}"
10
11inherit packagegroup
12
13PROFILE_TOOLS_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'sysprof', '', d)}"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060014# sysprof doesn't support aarch64 and nios2
Patrick Williamsc124f4f2015-09-15 14:41:29 -050015PROFILE_TOOLS_X_aarch64 = ""
Patrick Williamsc0f7c042017-02-23 20:41:17 -060016PROFILE_TOOLS_X_nios2 = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050017PROFILE_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 = ""
Brad Bishop6e60e8b2018-02-01 10:27:11 -050039SYSTEMTAP_mipsarch = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050040SYSTEMTAP_nios2 = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050041SYSTEMTAP_aarch64 = ""
42
43# lttng-ust uses sched_getcpu() which is not there on uclibc
44# for some of the architectures it can be patched to call the
45# syscall directly but for x86_64 __NR_getcpu is a vsyscall
46# which means we can not use syscall() to call it. So we ignore
47# it for x86_64/uclibc
48
49LTTNGUST = "lttng-ust"
50LTTNGUST_libc-uclibc = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050051LTTNGUST_libc-musl = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050052
53LTTNGTOOLS = "lttng-tools"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050054LTTNGTOOLS_libc-musl = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050055
56LTTNGMODULES = "lttng-modules"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050057
58BABELTRACE = "babeltrace"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050059
Patrick Williamsc0f7c042017-02-23 20:41:17 -060060# valgrind does not work on the following configurations/architectures
Patrick Williamsc124f4f2015-09-15 14:41:29 -050061
62VALGRIND = "valgrind"
63VALGRIND_libc-uclibc = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050064VALGRIND_libc-musl = ""
Brad Bishop6e60e8b2018-02-01 10:27:11 -050065VALGRIND_mipsarch = ""
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050066VALGRIND_nios2 = ""
Patrick Williamsc0f7c042017-02-23 20:41:17 -060067VALGRIND_armv4 = ""
68VALGRIND_armv5 = ""
69VALGRIND_armv6 = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050070VALGRIND_aarch64 = ""
Brad Bishop6e60e8b2018-02-01 10:27:11 -050071VALGRIND_linux-gnux32 = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050072
Patrick Williamsc124f4f2015-09-15 14:41:29 -050073RDEPENDS_${PN} = "\
74 ${PROFILETOOLS} \
75 ${LTTNGUST} \
76 ${LTTNGTOOLS} \
77 ${LTTNGMODULES} \
78 ${BABELTRACE} \
79 ${SYSTEMTAP} \
80 ${VALGRIND} \
81 "