perf: fix v5.4+ builds

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.

(From OE-Core rev: 6a000d734c2fe57b4a601fe7e7373096345b02b4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Bruce Ashfield
2019-10-21 16:16:15 -04:00
committed by Richard Purdie
parent 28b5077322
commit 2c6f420640

View File

@@ -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() {