[OE-core] [PATCH 3/6] perf: fix v5.4+ builds

bruce.ashfield at gmail.com bruce.ashfield at gmail.com
Mon Oct 21 20:16:15 UTC 2019


From: Bruce Ashfield <bruce.ashfield at gmail.com>

When building perf for 5.4+, we have some new files that need to
be copied (and synchronized) due to structural changes in the
kernel source tree.

Some of the issues these fixes are warnings, but none the less,
they are worth fixing.

 - We copy arch/${ARCH}/Makefile, since it is source by some perf
   Makefiles

 - We copy scripts/, since the perf utilities are looking for files
   in that directory stucture.

 - We have *three* copies of ctypes.h in the tools/* hierarchy
   during the build. If the tools/perf/util/include/linux/ variant
   is used, it will trigger build errors since it is not complete.
   We copy the kernel's main include/linux/ctype.h to ensure they
   are in sync.

Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
---
 meta/recipes-kernel/perf/perf.bb | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 8201c0cb60..0f5df74f11 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -113,6 +113,8 @@ PERF_SRC ?= "Makefile \
              tools/Makefile \
              tools/perf \
              tools/scripts \
+             scripts/ \
+             arch/${ARCH}/Makefile \
 "
 
 PERF_EXTRA_LDFLAGS = ""
@@ -246,6 +248,11 @@ do_configure_prepend () {
 
     # bits.h can have the same issue as unistd.h, so we make the tools variant take precedence
     [ -e ${S}/tools/include/linux/bits.h ] && install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
+
+    [ -e ${S}/tools/perf/util/include/linux/ctype.h ] && install -D -m0644 ${S}/include/linux/ctype.h ${S}/tools/perf/util/include/linux/ctype.h
+
+    [ -e ${S}/include/uapi/linux/kvm.h ] && install -D -m0644 ${S}/include/uapi/linux/kvm.h  ${S}/tools/include/uapi/linux/kvm.h
+    [ -e ${S}/include/uapi/linux/sched.h ] && install -D -m0644 ${S}/include/uapi/linux/sched.h  ${S}/tools/include/uapi/linux/sched.h
 }
 
 python do_package_prepend() {
-- 
2.19.1



More information about the Openembedded-core mailing list