Re: [PATCH] fs: proc: move linux_proc_banner to where it is used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 30, 2018 at 5:18 PM Rasmus Villemoes
<linux@xxxxxxxxxxxxxxxxxx> wrote:
>
> On 2018-10-27 21:47, Alexey Dobriyan wrote:
> > On Fri, Oct 26, 2018 at 11:20:34PM +0200, Rasmus Villemoes wrote:
> >> +#include <generated/compile.h>
> >
> >> +#define linux_proc_banner \
> >> +    "%s version %s" \
> >> +    " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")" \
> >> +    " (" LINUX_COMPILER ") %s\n"
> >
> > Include doesn't work if compiling from scratch:
>
> Urgh, thanks. I assumed that all the include/generated/ stuff was always
> generated by the prepare steps in the top Makefile. But the logic for
> making compile.h is in init/Makefile.
>
> >       rm -rf ../obj
> >       mkdir ../obj
> >       make O=../obj defconfig
> >       make O=../obj fs/proc/version.o
> >
> >   CC      fs/proc/version.o
> > fs/proc/version.c:2:10: fatal error: generated/compile.h: No such file or directory
>
> The same happens in current mainline for arch/x86/boot/version.o:
>
> $ make arch/x86/boot/version.o
>   CALL    scripts/checksyscalls.sh
>   DESCEND  objtool
>   CC      arch/x86/boot/version.o
> arch/x86/boot/version.c:17:31: fatal error: generated/compile.h: No such
> file or directory
>
> Cc kbuild: Wouldn't it be a little nicer creating generated/compile.h
> along with the other files in generated/, so that everybody can rely on
> them being there instead of having the logic for compile.h hidden away
> in init/Makefile and listing it as an explicit dependency? Or is there
> some reason compile.h is special?
>
> Rasmus
>

I think the basic idea is,
the build version should not be incremented
if you do incremental build without touching any source file.

If you create/update <generated/compile.h> first,
you never know whether the .version should be incremented or not.



-- 
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux