kconfig: Support building mconf with vendor sysroot ncurses
authorJohn Millikin <john@john-millikin.com>
Wed, 23 Dec 2020 05:04:23 +0000 (14:04 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Mon, 4 Jan 2021 01:38:11 +0000 (10:38 +0900)
Changes the final fallback path in the ncurses locator for mconf
to support host compilers with a non-default sysroot.

This is similar to the hardcoded search for ncurses under
'/usr/include', but can support compilers that keep their default
header and library directories elsewhere.

For nconfig, do nothing because the only vendor compiler I'm aware
of with this layout (Apple Clang) ships an ncurses version that's too
old for nconfig anyway.

Signed-off-by: John Millikin <john@john-millikin.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/kconfig/mconf-cfg.sh

index aa68ec95620d6095123c538e25193d627ba6107c..fcd4acd4e9cbc10002fd72c91b0ce3677d11f01e 100755 (executable)
@@ -33,7 +33,9 @@ if [ -f /usr/include/ncurses/ncurses.h ]; then
        exit 0
 fi
 
-if [ -f /usr/include/ncurses.h ]; then
+# As a final fallback before giving up, check if $HOSTCC knows of a default
+# ncurses installation (e.g. from a vendor-specific sysroot).
+if echo '#include <ncurses.h>' | "${HOSTCC}" -E - >/dev/null 2>&1; then
        echo cflags=\"-D_GNU_SOURCE\"
        echo libs=\"-lncurses\"
        exit 0