SUMMARY = "UProbes kernel module for SystemTap"
HOMEPAGE = "https://sourceware.org/systemtap/"
require systemtap_git.inc

DEPENDS = "systemtap virtual/kernel"

# On systems without CONFIG_UTRACE, this package is empty.
ALLOW_EMPTY:${PN} = "1"

inherit module-base gettext

FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemtap:"

FILES:${PN} += "${datadir}/systemtap/runtime/uprobes"

# Compile and install the uprobes kernel module on machines with utrace
# support.  Note that staprun expects it in the systemtap/runtime directory,
# not in /lib/modules.
do_compile() {
	if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_BUILDDIR}/.config
	then
		unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
		oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
			   AR="${KERNEL_AR}" \
			   -C ${STAGING_KERNEL_DIR} scripts
		oe_runmake KDIR=${STAGING_KERNEL_DIR}   \
			   M="${S}/runtime/uprobes/" \
			   CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
			   AR="${KERNEL_AR}" \
			   -C "${S}/runtime/uprobes/"
	fi
}

do_install() {
	if [ -e "${S}/runtime/uprobes/uprobes.ko" ]
	then
		install -d ${D}${datadir}/systemtap/runtime/uprobes/
		install -m 0644 ${S}/runtime/uprobes/uprobes.ko ${D}${datadir}/systemtap/runtime/uprobes/
	fi
}
