trace-cmd: new package

This commit adds a new package for the trace-cmd tool.  This tool is a
command line front end of ftrace.  It collects traces on your target.
You can analyse these traces on the target or on the host via the gui
"kernel shark".

[Thomas: use TARGET_CONFIGURE_OPTS, define _GNU_SOURCE to get
O_CLOEXEC definition on uClibc, add thread and largefile
dependencies.]

Signed-off-by: Pierre Floury <pierre.floury@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Pierre Floury 2013-08-02 14:01:11 +02:00 committed by Thomas Petazzoni
parent e0d640232e
commit 07203d78c2
3 changed files with 43 additions and 0 deletions

View file

@ -48,6 +48,7 @@ source "package/strace/Config.in"
source "package/stress/Config.in"
source "package/sysprof/Config.in"
source "package/tinymembench/Config.in"
source "package/trace-cmd/Config.in"
source "package/whetstone/Config.in"
source "package/valgrind/Config.in"
source "package/pv/Config.in"

View file

@ -0,0 +1,16 @@
config BR2_PACKAGE_TRACE_CMD
bool "trace-cmd"
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
help
Command line reader for ftrace.
To use this profiling tool, you should enable ftrace in your kernel
configuration. This command collect traces on your target.
You can analyse these traces on the target or on the host via the gui
"kernel shark"
http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git
comment "trace-cmd needs a toolchain with largefile and threads support"
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS

View file

@ -0,0 +1,26 @@
################################################################################
#
# trace-cmd
#
################################################################################
TRACE_CMD_VERSION = trace-cmd-v2.2.1
TRACE_CMD_SITE = http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git
TRACE_CMD_SITE_METHOD = git
TRACE_CMD_INSTALL_STAGING = YES
TRACE_CMD_LICENSE = GPLv2 LGPLv2.1
TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB
define TRACE_CMD_BUILD_CMDS
$(MAKE) $(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \
-C $(@D) all
endef
define TRACE_CMD_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/trace-cmd $(TARGET_DIR)/usr/bin/trace-cmd
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/trace-cmd/plugins
$(INSTALL) -D -m 0755 $(@D)/plugin_*.so $(TARGET_DIR)/usr/lib/trace-cmd/plugins
endef
$(eval $(generic-package))