[OE-core] [PATCH 1/1] kernel.bbclass: remove explicit version.h target
Darren Hart
dvhart at linux.intel.com
Thu Oct 18 14:53:26 UTC 2012
On 10/18/2012 10:47 AM, Bruce Ashfield wrote:
> The compilation routine for the kernel has an explicit call to
> build version.h, which works fine for most kernels, but the
> location of it has recently changes.
>
> commit d183e6f5 [UAPI: Move linux/version.h]
> commit 10b63956 [UAPI: Plumb the UAPI Kbuilds into the user
> header installation and checking]
>
> moves the file to include/generated/linux/version.h and then to
> include/generated/uapi/linux/version.h.
>
> As a result kernel builds of 3.7 or bisection builds of intermediate
> kernel commits will fail with:
>
> make[2]: *** No rule to make target `include/linux/version.h'. Stop.
>
> Making the explicit version.h build conditional on the version, or
> via a file test would fix the problem, but it introduces some complexity
> to the build.
>
> Even without an explicit call to build version.h, it is always produced
> by the kernel build, so it can simply be removed.
>
> Note: it isn't clear why the explicit build of version.h was originally
> required, but the prep phases of the kernel have changed significantly,
> so it should no longer be required.
How far back have you tested with? 3.0? If it works back to 3.0, then
I'd argue it's just fine.
--
Darren
>
> [YOCTO: #3293]
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
> ---
> meta/classes/kernel.bbclass | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 0df8f08..2163c1f 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -85,7 +85,6 @@ KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.g
>
> kernel_do_compile() {
> unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
> - oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}"
> oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
> if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then
> gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}"
>
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel
More information about the Openembedded-core
mailing list