On 07/06/2012 01:29 PM, tom.zanu...@intel.com wrote:
From: Tom Zanussi <tom.zanu...@intel.com>

Add a new architecture-specific feature named 'perf-scripting'.
Adding this into the perf_features_by_arch table in perf.inc for a
given arch will enable perf scripting on a target built for that arch,
which will turn on all the language bindings currently aavailable in
perf (Perl and Python), if perf is included in an image.

If 'perf-scripting' isn't named as a feature (the default), all perf
language bindings will be disabled and unavailable.

Signed-off-by: Tom Zanussi <tom.zanu...@intel.com>
---
  meta/recipes-kernel/perf/perf_3.4.bb |   12 +++++++++---
  1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-kernel/perf/perf_3.4.bb 
b/meta/recipes-kernel/perf/perf_3.4.bb
index d494243..a79e9e6 100644
--- a/meta/recipes-kernel/perf/perf_3.4.bb
+++ b/meta/recipes-kernel/perf/perf_3.4.bb
@@ -9,7 +9,7 @@ as well."
  LICENSE = "GPLv2"
  LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"

-PR = "r1"
+PR = "r2"

  require perf.inc

@@ -21,7 +21,8 @@ DEPENDS = "virtual/kernel \
             ${MLPREFIX}binutils \
            "

-RDEPENDS_${PN} += "elfutils perl perl-modules python"
+SCRIPTING_RDEPENDS = "${@perf_arch_supports_feature('perf-scripting', 'perl 
perl-modules python', '',d)}"
+RDEPENDS_${PN} += "elfutils ${SCRIPTING_RDEPENDS}"

  PROVIDES = "virtual/perf"

@@ -45,6 +46,8 @@ export PERL_ARCHLIB = 
"${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version
  S = "${STAGING_KERNEL_DIR}"
  B = "${WORKDIR}/${BPN}-${PV}"

+SCRIPTING_DEFINES = "${@perf_arch_supports_feature('perf-scripting', '', 
'NO_LIBPERL=1 NO_LIBPYTHON=1',d)}"
+
  EXTRA_OEMAKE = \
                '-C ${S}/tools/perf \
                O=${B} \
@@ -53,7 +56,7 @@ EXTRA_OEMAKE = \
                CC="${CC}" \
                AR="${AR}" \
                prefix=/usr \
-               NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 \
+               NO_GTK2=1 NO_NEWT=1 NO_DWARF=1 ${SCRIPTING_DEFINES} \
                '

  do_compile() {
@@ -62,6 +65,9 @@ do_compile() {

  do_install() {
        oe_runmake DESTDIR=${D} install
+       if [ "${@perf_arch_supports_feature('perf-scripting', 1, 0, d)}" = "1" 
]; then
+               oe_runmake DESTDIR=${D} install-python_ext
+       fi
  }

  PACKAGE_ARCH = "${MACHINE_ARCH}"


Tom,

I am not sure this one is working correctly, I this set of 3 in a build and it failed, so I bicested down to this patch. I am still seeing the setup.py: Permission denied problem:
| install scripts/python/bin/* -t 
'/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image/usr/libexec/perf-core/scripts/python/bin'
| make: Leaving directory 
`/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
| NOTE: make -j 16 -C 
/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf
 
O=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/perf-3.4
 CROSS_COMPILE=x86_64-poky-linux- ARCH=x86 CC=x86_64-poky-linux-gcc    -m64 
--sysroot=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64
 AR=x86_64-poky-linux-ar prefix=/usr NO_GTK2=1 NO_DWARF=1 
DESTDIR=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image
 install-python_ext
| make: Entering directory 
`/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
| util/setup.py --quiet install 
--root='//srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/image'
| make: execvp: util/setup.py: Permission denied
| make: *** [install-python_ext] Error 127
| make: Leaving directory 
`/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/tools/perf'
| ERROR: oe_runmake failed
| ERROR: Function failed: do_install (see 
/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/qemux86_64-poky-linux/perf-3.4-r3/temp/log.do_install.6037
 for further information)


Sau!


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to