blob: ff2b5779a203d893d1b0542dae9b1ce21025c572 [file] [log] [blame]
#
# Copyright (C) 2008 OpenedHand Ltd.
#
SUMMARY = "Profiling tools"
LICENSE = "MIT"
PR = "r3"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
PROFILE_TOOLS_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'sysprof', '', d)}"
# sysprof doesn't support aarch64
PROFILE_TOOLS_X_aarch64 = ""
PROFILE_TOOLS_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-analyze', '', d)}"
RRECOMMENDS_${PN} = "\
${PERF} \
trace-cmd \
blktrace \
${PROFILE_TOOLS_X} \
${PROFILE_TOOLS_SYSTEMD} \
"
PROFILETOOLS = "\
powertop \
latencytop \
"
PERF = "perf"
PERF_libc-musl = ""
# systemtap needs elfutils which is not fully buildable on uclibc
# hence we exclude it from uclibc based builds
SYSTEMTAP = "systemtap"
SYSTEMTAP_libc-uclibc = ""
SYSTEMTAP_libc-musl = ""
SYSTEMTAP_mips = ""
SYSTEMTAP_mips64 = ""
SYSTEMTAP_mips64n32 = ""
SYSTEMTAP_nios2 = ""
SYSTEMTAP_aarch64 = ""
# lttng-ust uses sched_getcpu() which is not there on uclibc
# for some of the architectures it can be patched to call the
# syscall directly but for x86_64 __NR_getcpu is a vsyscall
# which means we can not use syscall() to call it. So we ignore
# it for x86_64/uclibc
LTTNGUST = "lttng-ust"
LTTNGUST_libc-uclibc = ""
LTTNGUST_libc-musl = ""
LTTNGTOOLS = "lttng-tools"
LTTNGTOOLS_libc-musl = ""
LTTNGMODULES = "lttng-modules"
BABELTRACE = "babeltrace"
# valgrind does not work on mips
VALGRIND = "valgrind"
VALGRIND_libc-uclibc = ""
VALGRIND_libc-musl = ""
VALGRIND_mips = ""
VALGRIND_mips64 = ""
VALGRIND_mips64n32 = ""
VALGRIND_nios2 = ""
VALGRIND_arm = ""
VALGRIND_aarch64 = ""
RDEPENDS_${PN} = "\
${PROFILETOOLS} \
${LTTNGUST} \
${LTTNGTOOLS} \
${LTTNGMODULES} \
${BABELTRACE} \
${SYSTEMTAP} \
${VALGRIND} \
"