diff mbox

[1/1] kernel: Add use flag to enable build of the perf utility

Message ID 3177a002a031bf6f68ef726c5b561175c6c92e21.1398754253.git.christian.braunersorensen@prevas.dk
State Rejected
Delegated to: Esben Haabendal
Headers show

Commit Message

christian.braunersorensen@prevas.dk April 29, 2014, 7:05 a.m. UTC
From: Christian Sørensen <christian.braunersorensen@prevas.dk>

Use flag added: kernel_perf.
Set, to enable building the perf utility. May there after be used in e.g.
rootfs by adding util/perf to the list of RDEPENDS

Signed-off-by: Christian Sørensen <christian.braunersorensen@prevas.dk>
---
 classes/kernel.oeclass | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Esben Haabendal May 13, 2014, 11:43 a.m. UTC | #1
<christian.braunersorensen@prevas.dk> writes:

> From: Christian Sørensen <christian.braunersorensen@prevas.dk>
>
> Use flag added: kernel_perf.
> Set, to enable building the perf utility. May there after be used in e.g.
> rootfs by adding util/perf to the list of RDEPENDS

Hi Christian

Could you create a recipe for building perf (and possibly other
user-space commands) from kernel sources in a seperate recipe instead?

Where as kernel recipe will often be machine specific, it would often
not make sense to have fx. the perf utility built as machine specific,
and thus potentially causing an otherwise common rootfs to become
machine specific.

/Esben
diff mbox

Patch

diff --git a/classes/kernel.oeclass b/classes/kernel.oeclass
index 50d8f98..57dcbee 100644
--- a/classes/kernel.oeclass
+++ b/classes/kernel.oeclass
@@ -287,6 +287,25 @@  do_install () {
     do_install_kernel
 }
 
+CLASS_FLAGS += "kernel_perf"
+DEPENDS:>USE_kernel_perf += " libpthread librt libm libdl"
+DO_INSTALL_PERF = ""
+DO_INSTALL_PERF:USE_kernel_perf = "do_install_perf"
+do_install[postfuncs] += "${DO_INSTALL_PERF}"
+do_install_perf () {
+	oe_runmake -C ${S}/tools/perf install DESTDIR=${D} \
+		prefix=${prefix} \
+		bindir=${bindir}
+}
+PACKAGES:>USE_kernel_perf += " ${PN}-perf ${PN}-perf-doc ${PN}-perf-scripts"
+FILES_${PN}-perf = "${bindir}/perf ${bindir}/trace \
+	${sysconfdir}/bash_completion.d/perf"
+DEPENDS_${PN}-perf += "libpthread librt libm libgcc-s libc libdl"
+RDEPENDS_${PN}-perf += "libpthread librt libm libgcc-s libc libdl"
+PROVIDES_${PN}-perf += "util/perf"
+FILES_${PN}-perf-doc = "${mandir}/man1/perf*"
+FILES_${PN}-perf-scripts = "${prefix}/libexec/perf-core"
+
 PACKAGES = "${PN} ${PN}-vmlinux ${PN}-dev ${PN}-headers ${PN}-modules ${PN}-dtb ${PN}-firmware"
 
 FILES_${PN} = "${bootdir}/${KERNEL_IMAGE_FILENAME}"