diff mbox series

[3/5] perf: fix perl binding support

Message ID 20230822170018.315470-3-ross.burton@arm.com
State Accepted, archived
Commit a59e31c78b5468fac461067e5bacf263c2cf23ad
Headers show
Series [1/5] perf: enable verbose feature detection | expand

Commit Message

Ross Burton Aug. 22, 2023, 5 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

The build of the perl integration has been broken for some time.

Update the PERL_* variables so that it can find libperl in the new
location.

This then fails because the Perl headers cause warnings and the feature
checks run with -Werror, so disable the errors.

The perf-dbg package then has target build paths, so set INSANE_SKIP for
now until this is resolved.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-kernel/perf/perf-perl.inc | 10 +++++++---
 meta/recipes-kernel/perf/perf.bb       |  3 +++
 2 files changed, 10 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-kernel/perf/perf-perl.inc b/meta/recipes-kernel/perf/perf-perl.inc
index ae77319b203..491f54c3280 100644
--- a/meta/recipes-kernel/perf/perf-perl.inc
+++ b/meta/recipes-kernel/perf/perf-perl.inc
@@ -2,6 +2,10 @@  inherit perlnative cpan-base
 
 # Env var which tells perl if it should use host (no) or target (yes) settings
 export PERLCONFIGTARGET = "${@is_target(d)}"
-export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE"
-export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
-export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE"
+export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
+
+# The perl symbols CPPSTDIN and CPPRUN embed the sysroot into the
+# binaries, work needed to remove this
+INSANE_SKIP:${PN}-dbg += "buildpaths"
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 9eeb1003f3a..327934b72a7 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -323,6 +323,9 @@  do_configure:prepend () {
     if [ -e "${S}/tools/build/Makefile.feature" ]; then
         sed -i 's,CFLAGS=,CC="\$(CC)" CFLAGS=,' ${S}/tools/build/Makefile.feature
     fi
+    # The libperl feature check produces fatal warnings due to -Werror being
+    # used, silence enough errors that the check passes.
+    sed -i 's/\(FLAGS_PERL_EMBED=.*\)/\1 -Wno-error=unused-function -Wno-error=attributes/' ${S}/tools/build/feature/Makefile
 
     # 3.17-rc1+ has a include issue for arm/powerpc. Temporarily sed in the appropriate include
     if [ -e "${S}/tools/perf/arch/$ARCH/util/skip-callchain-idx.c" ]; then