[PATCH] kconfig: Check for libncurses before menuconfig

From: Borislav Petkov
Date: Sun Apr 09 2017 - 09:11:10 EST


From: Borislav Petkov <bp@xxxxxxx>

There is a check and a nice user-friendly message when the curses
library is not present on the system and the user wants to do "make
menuconfig". It doesn't get issued, though. Instead, we fail the build
when mconf.c doesn't find the curses.h header:

HOSTCC scripts/kconfig/mconf.o
In file included from scripts/kconfig/mconf.c:23:0:
scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: No such file or directory
#include CURSES_LOC
^
compilation terminated.

Make that check a prerequisite to mconf so that the user sees the error
message instead:

$ make menuconfig
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
scripts/kconfig/Makefile:203: recipe for target 'scripts/kconfig/dochecklxdialog' failed
make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1
Makefile:548: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 2

Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Cc: linux-kbuild@xxxxxxxxxxxxxxx
---
scripts/kconfig/Makefile | 2 ++
1 file changed, 2 insertions(+)

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 90a091b6ae4d..e58220ce65b9 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -24,6 +24,8 @@ xconfig: $(obj)/qconf
gconfig: $(obj)/gconf
$< $(silent) $(Kconfig)

+$(obj)/mconf: $(obj)/dochecklxdialog
+
menuconfig: $(obj)/mconf
$< $(silent) $(Kconfig)

--
2.11.0