summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb')
-rw-r--r--meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb42
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
new file mode 100644
index 0000000000..7fa674853b
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb
@@ -0,0 +1,42 @@
1DESCRIPTION = "UProbes kernel module for SystemTap"
2
3require systemtap_git.inc
4
5DEPENDS = "systemtap virtual/kernel"
6
7PR = "r0"
8
9# On systems without CONFIG_UTRACE, this package is empty.
10ALLOW_EMPTY_${PN} = 1
11
12inherit module-base gettext
13
14FILES_${PN} += "${datadir}/systemtap/runtime/uprobes"
15
16EXTRA_OEMAKE = ""
17
18# Compile and install the uprobes kernel module on machines with utrace
19# support. Note that staprun expects it in the systemtap/runtime directory,
20# not in /lib/modules.
21do_compile() {
22 if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_DIR}/.config
23 then
24 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
25 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
26 AR="${KERNEL_AR}" \
27 -C ${STAGING_KERNEL_DIR} scripts
28 oe_runmake KDIR=${STAGING_KERNEL_DIR} \
29 M="${S}/runtime/uprobes/" \
30 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
31 AR="${KERNEL_AR}" \
32 -C "${S}/runtime/uprobes/"
33 fi
34}
35
36do_install() {
37 if [ -e "${S}/runtime/uprobes/uprobes.ko" ]
38 then
39 install -d ${D}/usr/share/systemtap/runtime/uprobes/
40 install -m 0644 ${S}/runtime/uprobes/uprobes.ko ${D}/usr/share/systemtap/runtime/uprobes/
41 fi
42}