From 07203d78c24df74a77d73b17437d37dce41d232e Mon Sep 17 00:00:00 2001 From: Pierre Floury Date: Fri, 2 Aug 2013 14:01:11 +0200 Subject: [PATCH] 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 Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/trace-cmd/Config.in | 16 ++++++++++++++++ package/trace-cmd/trace-cmd.mk | 26 ++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 package/trace-cmd/Config.in create mode 100644 package/trace-cmd/trace-cmd.mk diff --git a/package/Config.in b/package/Config.in index 7069d778e7..f5b14f6084 100644 --- a/package/Config.in +++ b/package/Config.in @@ -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" diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in new file mode 100644 index 0000000000..8d793046a0 --- /dev/null +++ b/package/trace-cmd/Config.in @@ -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 diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk new file mode 100644 index 0000000000..ada0306e3e --- /dev/null +++ b/package/trace-cmd/trace-cmd.mk @@ -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))