[PATCH 0/3] kbuild: add scripts/Makefile.toolcheck to check necessary host tools

From: Masahiro Yamada
Date: Tue Oct 16 2018 - 05:12:29 EST

I wrote this patch set to cater to some reports:

- Bernd Edlinger reports false positive check of libelf
once CONFIG_UNWINDER_ORC is enabled.

- Borislav Petkov reports the build fails very late
if CONFIG_KERNEL_LZ4 is enabled but lz4 is missing.

>From the discussion
people like to see a build error when some host tools
are missing.

So, we need to check host tools in makefiles.
(Or, do not check at all. The build will fail anyway,
but the error message might not be clear enough in some cases.)

A problem is people check host tools
in random places in the top Makefile.
This does not work because the top Makefile is parsed twice
when the include/config/auto.config is updated.
Once with a stale auto.config, and once again with a
new auto.conf.
This will cause false positive build error.

One solution is to provide a systematic way to
do host-tool checks.

I added small macros in scripts/Makefile.toolcheck
to describe tool checks in a Kbuild-ish taste.

Masahiro Yamada (3):
kbuild: provide a new place to check necessary host tools
objtool: move libelf check out of top Makefile
kbuild: check the presence of lzo and lz4 tools when necessary

Makefile | 22 ++++-----------------
scripts/Makefile.build | 2 --
scripts/Makefile.toolcheck | 48 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 52 insertions(+), 20 deletions(-)
create mode 100644 scripts/Makefile.toolcheck