Hi Thomas!
On Sun, Aug 17, 2025 at 10:30:52AM +0200, Thomas Weißschuh wrote:
> Hi Willy,
>
> On 2025-07-21 04:56:27+0200, Willy Tarreau wrote:
> > On Sat, Jul 19, 2025 at 05:38:28PM +0200, Thomas Weißschuh wrote:
> > > The toplevel Makefile is capable of calculating CC from CROSS_COMPILE
> > > and/or ARCH.
> > >
> > > Stop passing the unnecessary variable.
> > (...)
> > > # Execute the toplevel kernel Makefile
> > > -KBUILD_MAKE = $(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC)
> > > CROSS_COMPILE=$(CROSS_COMPILE)
> > > +KBUILD_MAKE = $(MAKE) -C $(srctree) ARCH=$(ARCH)
> > > CROSS_COMPILE=$(CROSS_COMPILE)
> >
> > Here the goal was not to help the toplevel Makefile figure CC, but rather
> > to permit the user to override it, and it's also listed in "make help",
> > and even used in cc-option.
> >
> > I understnad that you're trying to avoid forcing CC to clang when
> > building, but in this case, what will CROSS_COMPILE contain ? My
> > guess is that you intend to make CROSS_COMPILE point to the gcc-based
> > toolchain, and have CC point to clang for userland only. Is this the
> > case ?
>
> Correct.
>
> > I think I'd be fine with this, but then we need to make it
> > explicit in the help message and fix the current one, possibly just
> > with this:
> >
> > - @echo " nolibc-test build the executable (uses \$$CC and
> > \$$CROSS_COMPILE)"
> > + @echo " nolibc-test build the executable (uses \$$CC)"
>
> I don't think this is correct. $CC itself depends on $CROSS_COMPILE
> through tools/scripts/Makefile.include.
I don't understand what you mean by "depends on" here. CC defaults
to ${CROSS_COMPILE}gcc and may override it if set. So if one sets
CC, CROSS_COMPILE will not be used for it. Or maybe we could change
it to this to indicate a precedence if that's the idea you want to
convey ?
- @echo " nolibc-test build the executable (uses \$$CC and
\$$CROSS_COMPILE)"
+ @echo " nolibc-test build the executable (uses \$$CC or
\$$CROSS_COMPILE)"
Willy