Re: [PATCH] kbuild: do not suppress Kconfig prompts for silent build

From: Masahiro Yamada
Date: Sun Jul 18 2021 - 09:23:45 EST


On Wed, Jul 14, 2021 at 1:24 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> When a new CONFIG option is available, Kbuild shows a prompt to get
> the user input.
>
> $ make
> [ snip ]
> Core Scheduling for SMT (SCHED_CORE) [N/y/?] (NEW)
>
> This is the only interactive place during the build process.
>
> Commit 174a1dcc9642 ("kbuild: sink stdout from cmd for silent build")
> suppressed Kconfig prompts as well because syncconfig is invoked by
> the 'cmd' macro. You cannot notice the fact that Kconfig is waiting
> for the user input.
>
> Use 'kecho' to show the equivalent short log without suppressing stdout
> from sub-make.
>
> Fixes: 174a1dcc9642 ("kbuild: sink stdout from cmd for silent build")
> Reported-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---

Applied to linux-kbuild.



> Makefile | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index c3f9bd191b89..6272126abe23 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -728,11 +728,9 @@ $(KCONFIG_CONFIG):
> # This exploits the 'multi-target pattern rule' trick.
> # The syncconfig should be executed only once to make all the targets.
> # (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
> -quiet_cmd_syncconfig = SYNC $@
> - cmd_syncconfig = $(MAKE) -f $(srctree)/Makefile syncconfig
> -
> %/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)
> - +$(call cmd,syncconfig)
> + $(Q)$(kecho) " SYNC $@"
> + $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
> else # !may-sync-config
> # External modules and some install targets need include/generated/autoconf.h
> # and include/config/auto.conf but do not care if they are up-to-date.
> --
> 2.27.0
>


--
Best Regards
Masahiro Yamada