trace-cmd: new package
authorPierre Floury <pierre.floury@gmail.com>
Fri, 2 Aug 2013 12:01:11 +0000 (14:01 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 5 Aug 2013 21:14:32 +0000 (23:14 +0200)
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>
package/Config.in
package/trace-cmd/Config.in [new file with mode: 0644]
package/trace-cmd/trace-cmd.mk [new file with mode: 0644]

index 7069d778e730d7e4710fdf88dde9119c3a6f9dbc..f5b14f60841975b910bc45efd8631ca6669256dc 100644 (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"
diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in
new file mode 100644 (file)
index 0000000..8d79304
--- /dev/null
@@ -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 (file)
index 0000000..ada0306
--- /dev/null
@@ -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))