[PATCH 02/10] kconfig: Add scripts/Kconfig.include from v4.19

Tom Rini trini at konsulko.com
Mon May 18 18:55:03 CEST 2020


On Mon, May 18, 2020 at 11:23:20AM -0400, Tom Rini wrote:
> On Mon, May 18, 2020 at 11:55:11AM +0900, Masahiro Yamada wrote:
> > Tom,
> > 
> > 
> > 
> > On Thu, May 14, 2020 at 9:32 PM Tom Rini <trini at konsulko.com> wrote:
> > >
> > > As part of re-syncing our Kconfig logic up to v4.19, we had missed
> > > adding this new file that includes helper macros.  To quote the upstream
> > > commit e1cfdc0e72fc ("kconfig: add basic helper macros to scripts/Kconfig.include"):
> > >
> > > Kconfig got text processing tools like we see in Make.  Add Kconfig
> > > helper macros to scripts/Kconfig.include like we collect Makefile
> > > macros in scripts/Kbuild.include.
> > >
> > > Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
> > > Signed-off-by: Tom Rini <trini at konsulko.com>
> > 
> > 
> > If you want to align with Linux kernel, please go ahead.
> > 
> > 
> > Some notes.
> > 
> > 
> > Previously, CROSS_COMPILE was not required at the Kconfig stage.
> > 
> > So, people was able to do this:
> > 
> >       make qemu_arm64_defconfig
> >       make CROSS_COMPILE=aarch64-linux-gnu-
> > 
> > 
> > Going forward, Kconfig requires CROSS_COMPILE set correctly.
> > 
> >       make CROSS_COMPILE=aarch64-linux-gnu-  qemu_arm64_defconfig
> >       make CROSS_COMPILE=aarch64-linux-gnu-
> > 
> > Maybe, passing CROSS_COMPILE as an environment variable is handier
> > 
> >       export CROSS_COMPILE=aarch64-linux-gnu-
> >       make qemu_arm64_defconfig
> >       make
> > 
> > 
> > 
> > 
> > 
> > When you upgrade the compiler, in theory,
> > you must re-run Kconfig because the .config now
> > contains the compiler information.
> > 
> > If you want to do this automatically,
> > you can import CC_VERSION_TEXT.
> > 
> > Specifically, the following two commits:
> > 21c54b774744719c386fbdc829b0e7759edb8ece
> > 315bab4e972d9795529b764718d475492db40c0f
> 
> OK, so we really want to grab those changes as well at the time, thanks!

Trying this out and trying to follow the code a bit, the first commit is
helpful for us in that it's good to have the compiler noted in the file.
But even without it, with this series applied we see:
$ make O=/tmp/rpi3_32b HOSTCC=clang-10 CROSS_COMPILE=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-  CC="clang-10 -target arm-linux-gnueabi" rpi_3_32b_config
make[1]: Entering directory '/tmp/rpi3_32b'
  HOSTCC  scripts/basic/fixdep
  GEN     ./Makefile
  HOSTCC  scripts/kconfig/conf.o
  YACC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
make[1]: Leaving directory '/tmp/rpi3_32b'
$ make O=/tmp/rpi3_32b HOSTCC=clang-10 CROSS_COMPILE=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-
make[1]: Entering directory '/tmp/rpi3_32b'
  GEN     ./Makefile
scripts/kconfig/conf  --syncconfig Kconfig
  UPD     include/config.h
  CFG     u-boot.cfg
...


So we're getting syncconfig run and CC-related changes are caught.

For the second commit, since ARCH comes from CONFIG_SYS_ARCH and not the
make line/environment, we don't have that problem to start with?
Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200518/9108782d/attachment.sig>


More information about the U-Boot mailing list