ktap: add configs for elfutils and ffi

libelf (elfutils) is required for resolving symbols in DSO and for sdt (taken
from ktap docs). The earlier v0.4 recipe built ktap against libelf if it was
found, thus enable it per default.

FFI needs to be enabled for both userspace and kernel module. Currently, it is
only supported for x86_64 (enforced when building ktap-module).

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Anders Darander 2014-01-10 07:47:51 +01:00 committed by Martin Jansa
parent d4b25acb2d
commit 3e79b4c4e1
3 changed files with 16 additions and 2 deletions

View File

@ -6,8 +6,11 @@ DESCRIPTION = "KTAP is a scripting dynamic tracing tool for Linux"
inherit module
# Available package configs: ffi (only supported on x86_64)
PACKAGECONFIG ?= ""
# Only build the module
MAKE_TARGETS = "mod"
MAKE_TARGETS = "${@base_contains('PACKAGECONFIG', 'ffi', 'FFI=1', '', d)} mod"
# Kernel module packages MUST begin with 'kernel-module-', otherwise
# multilib image generation can fail.

View File

@ -9,3 +9,5 @@ SRC_URI = "git://github.com/ktap/ktap.git"
S = "${WORKDIR}/git"
# Package config is abused as a general compile time configuration tool.
PACKAGECONFIG[ffi] = ""

View File

@ -5,8 +5,17 @@ require ktap.inc
SUMMARY = "KTAP is a scripting dynamic tracing tool for Linux"
DEPENDS = "ktap-module"
#Available package configs:
# libelf - needed to resolve symbols in DSO and for sdt
# ffi - only supports x86_64 for now!. Needs to be enabled for ktap-module too.
PACKAGECONFIG ?= "libelf"
PACKAGECONFIG[libelf] = ",,elfutils"
# Only build the userspace app
EXTRA_OEMAKE = "ktap"
EXTRA_OEMAKE = "${@base_contains('PACKAGECONFIG', 'libelf', '', 'NO_LIBELF=1', d)} \
${@base_contains('PACKAGECONFIG', 'ffi', 'FFI=1', '', d)} \
ktap"
do_install() {
install -d ${D}${bindir}