![Masahiro Yamada](/assets/img/avatar_default.png)
The mconf (or its infrastructure, lxdiaglog) depends on the ncurses. Move and rename check-lxdialog.sh to mconf-cfg.sh to make it work in the same way as for qconf and gconf. This commit fixes some more weirdnesses. The nconf also needs ncurses packages. HOSTLOADLIBES_nconf is set to the libraries needed for nconf, but the cflags is not explicitly set. Actually, nconf relies on the check-lxdialog.sh for the proper cflags: HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \ -DLOCALE The code above passes the ncurses flags to all objects, even for conf, qconf, gconf. Let's pass the ncurses flags only to mconf and nconf. Currently, the presence of ncurses is not checked for nconf. Let's show a prompt like the mconf case. According to Randy's report, the shell scripts still need to carry the fallback code in case the pkg-config fails to find the ncurses packages. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
45 lines
1,009 B
Bash
Executable file
45 lines
1,009 B
Bash
Executable file
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
PKG="ncursesw"
|
|
PKG2="ncurses"
|
|
|
|
if pkg-config --exists $PKG; then
|
|
echo cflags=\"$(pkg-config --cflags $PKG)\"
|
|
echo libs=\"$(pkg-config --libs $PKG)\"
|
|
exit 0
|
|
fi
|
|
|
|
if pkg-config --exists $PKG2; then
|
|
echo cflags=\"$(pkg-config --cflags $PKG2)\"
|
|
echo libs=\"$(pkg-config --libs $PKG2)\"
|
|
exit 0
|
|
fi
|
|
|
|
# Unfortunately, some distributions (e.g. openSUSE) cannot find ncurses
|
|
# by pkg-config.
|
|
if [ -f /usr/include/ncursesw/ncurses.h ]; then
|
|
echo cflags=\"-D_GNU_SOURCE -I/usr/include/ncursesw\"
|
|
echo libs=\"-lncursesw\"
|
|
exit 0
|
|
fi
|
|
|
|
if [ -f /usr/include/ncurses/ncurses.h ]; then
|
|
echo cflags=\"-D_GNU_SOURCE -I/usr/include/ncurses\"
|
|
echo libs=\"-lncurses\"
|
|
exit 0
|
|
fi
|
|
|
|
if [ -f /usr/include/ncurses.h ]; then
|
|
echo cflags=\"-D_GNU_SOURCE\"
|
|
echo libs=\"-lncurses\"
|
|
exit 0
|
|
fi
|
|
|
|
echo >&2 "*"
|
|
echo >&2 "* Unable to find the ncurses package."
|
|
echo >&2 "* Install ncurses (ncurses-devel or libncurses-dev"
|
|
echo >&2 "* depending on your distribution)."
|
|
echo >&2 "*"
|
|
exit 1
|