Patchwork [1/3] perf: add perf.inc

login
register
mail settings
Submitter Tom Zanussi
Date July 6, 2012, 8:29 p.m.
Message ID <a2ba99c6c2be42f7d30f5827361b0a6892659997.1341606068.git.tom.zanussi@intel.com>
Download mbox | patch
Permalink /patch/31349/
State New
Headers show

Comments

Tom Zanussi - July 6, 2012, 8:29 p.m.
From: Tom Zanussi <tom.zanussi@intel.com>

Add a perf.inc to contain utility functions and definitions and to
avoid cluttering up the main recipe.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
---
 meta/recipes-kernel/perf/perf.inc    |   30 ++++++++++++++++++++++++++++++
 meta/recipes-kernel/perf/perf_3.4.bb |    2 ++
 2 files changed, 32 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-kernel/perf/perf.inc

Patch

diff --git a/meta/recipes-kernel/perf/perf.inc b/meta/recipes-kernel/perf/perf.inc
new file mode 100644
index 0000000..9b46311
--- /dev/null
+++ b/meta/recipes-kernel/perf/perf.inc
@@ -0,0 +1,30 @@ 
+def perf_arch_supports_feature(feature, trueval, falseval, d):
+    """
+    Check which perf features a particular architecture supports.
+
+    The perf_features_by_arch table below lists the perf features
+    supported by each arch.  If you want a particular arch to support
+    a given set of perf features, add an entry for the arch to this
+    table.  Otherwise the arch won't support any features (which may
+    be exactly what you want, just a barebones perf without any extra
+    baggage, which is what you get if you don't add any features
+    here.)
+
+    Available perf features:
+      perf-scripting: enable support for Perl and Python bindings
+      perf-tui: enable support for the perf TUI (via libnewt)
+
+    """
+    perf_features_by_arch = {
+	"core2":      "perf-scripting perf-tui",
+	"core2-64":   "perf-scripting perf-tui",
+	"x86":	      "perf-scripting perf-tui",
+	"x86-64":     "perf-scripting perf-tui",
+	"i586":	      "perf-scripting perf-tui",
+	}
+
+    tune = d.getVar("DEFAULTTUNE", True) or ""
+    if perf_features_by_arch.has_key(tune):
+	if feature in perf_features_by_arch[tune]:
+		return trueval
+    return falseval
diff --git a/meta/recipes-kernel/perf/perf_3.4.bb b/meta/recipes-kernel/perf/perf_3.4.bb
index 381332e..d494243 100644
--- a/meta/recipes-kernel/perf/perf_3.4.bb
+++ b/meta/recipes-kernel/perf/perf_3.4.bb
@@ -11,6 +11,8 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
 
 PR = "r1"
 
+require perf.inc
+
 BUILDPERF_libc-uclibc = "no"
 
 DEPENDS = "virtual/kernel \