diff options
Diffstat (limited to 'meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb')
-rw-r--r-- | meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb | 42 |
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 @@ | |||
1 | DESCRIPTION = "UProbes kernel module for SystemTap" | ||
2 | |||
3 | require systemtap_git.inc | ||
4 | |||
5 | DEPENDS = "systemtap virtual/kernel" | ||
6 | |||
7 | PR = "r0" | ||
8 | |||
9 | # On systems without CONFIG_UTRACE, this package is empty. | ||
10 | ALLOW_EMPTY_${PN} = 1 | ||
11 | |||
12 | inherit module-base gettext | ||
13 | |||
14 | FILES_${PN} += "${datadir}/systemtap/runtime/uprobes" | ||
15 | |||
16 | EXTRA_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. | ||
21 | do_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 | |||
36 | do_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 | } | ||