kconfig: do not write .config if the content is the same
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 10 May 2019 06:12:05 +0000 (15:12 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 10 May 2019 17:15:49 +0000 (02:15 +0900)
commit67424f61f8132215514e03ce1760d30356ac56d7
tree9e6c1bf8f665965213eace73da8c50d6839b55e3
parentceb7f3296ea1fa652d68e5ecb0facf5fba19a554
kconfig: do not write .config if the content is the same

Kconfig updates the .config when it exits even if its content is
exactly the same as before. Since its timestamp becomes newer than
that of other build artifacts, additional processing is invoked,
which is annoying.

- syncconfig is invoked to update include/config/auto.conf, etc.

- kernel/configs.o is recompiled if CONFIG_IKCONFIG is enabled,
  then vmlinux is relinked as well.

If the .config is not changed at all, we do not have to even
touch it. Just bail out showing "No change to .config".

  $ make allmodconfig
  scripts/kconfig/conf  --allmodconfig Kconfig
  #
  # configuration written to .config
  #
  $ make allmodconfig
  scripts/kconfig/conf  --allmodconfig Kconfig
  #
  # No change to .config
  #

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/kconfig/confdata.c