Re: [PATCH 5/5] kbuild: unify no-compiler-targets and no-sync-config-targets

From: Masahiro Yamada
Date: Sat Oct 14 2023 - 04:42:07 EST


On Tue, Oct 10, 2023 at 1:44 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>
> On Mon, Oct 09, 2023 at 09:42:10PM +0900, Masahiro Yamada wrote:
> > Now that vdso_install does not depend on any in-tree build artifact,
> > it no longer invokes a compiler, making no-compiler-targets the same
> > as no-sync-config-targets.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > ---
> >
> > Makefile | 13 +------------
> > 1 file changed, 1 insertion(+), 12 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index 2170d56630e8..982b1ad33287 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -277,10 +277,6 @@ no-dot-config-targets := $(clean-targets) \
> > $(version_h) headers headers_% archheaders archscripts \
> > %asm-generic kernelversion %src-pkg dt_binding_check \
> > outputmakefile rustavailable rustfmt rustfmtcheck
> > -# Installation targets should not require compiler. Unfortunately, vdso_install
> > -# is an exception where build artifacts may be updated. This must be fixed.
> > -no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
> > - headers_install modules_install modules_sign kernelrelease image_name
> > no-sync-config-targets := $(no-dot-config-targets) %install modules_sign kernelrelease \
> > image_name
> > single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %/
> > @@ -288,7 +284,6 @@ single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %
> > config-build :=
> > mixed-build :=
> > need-config := 1
> > -need-compiler := 1
> > may-sync-config := 1
> > single-build :=
> >
> > @@ -298,12 +293,6 @@ ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
> > endif
> > endif
> >
> > -ifneq ($(filter $(no-compiler-targets), $(MAKECMDGOALS)),)
> > - ifeq ($(filter-out $(no-compiler-targets), $(MAKECMDGOALS)),)
> > - need-compiler :=
> > - endif
> > -endif
> > -
>
> MIPS and LoongArch seem to have grown a usage of need-compiler in
> 4fe4a6374c4d ("MIPS: Only fiddle with CHECKFLAGS if `need-compiler'")
> and 54c2c9df083f ("LoongArch: Only fiddle with CHECKFLAGS if
> `need-compiler'"). With this removal, should those be updated as well?


Right, but may-sync-config and need-compiler are not
interchangeable due to the following code.

ifneq ($(KBUILD_EXTMOD),)
may-sync-config :=
endif


I will keep both.


--
Best Regards
Masahiro Yamada