From: Jason Wessel <[email protected]> In some cross build environments such as the Yocto Project build environment it provides an ncurses library that is compiled differently than the host's version. This causes display corruption problems when the host's curses includes are used instead of the includes from the provided compiler are overridden. There is a second case where there is no curses libraries at all on the host system and menuconfig will just fail entirely.
The solution is simply to allow an override variable in check-lxdialog.sh for environments such as the Yocto Project. Adding a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing compiling and linking against the right headers and libraries. Signed-off-by: Jason Wessel <[email protected]> cc: Michal Marek <[email protected]> cc: [email protected] --- scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh index 9d2a4c5..0fd8e96 100644 --- a/scripts/kconfig/lxdialog/check-lxdialog.sh +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh @@ -4,6 +4,10 @@ # What library to link ldflags() { + if [ "$CROSS_CURSES_LIB" != "" ]; then + echo "$CROSS_CURSES_LIB" + exit + fi pkg-config --libs ncursesw 2>/dev/null && exit pkg-config --libs ncurses 2>/dev/null && exit for ext in so a dll.a dylib ; do @@ -21,6 +25,10 @@ ldflags() # Where is ncurses.h? ccflags() { + if [ x"$CROSS_CURSES_INC" != x ]; then + echo "$CROSS_CURSES_INC" + exit + fi if [ -f /usr/include/ncursesw/curses.h ]; then echo '-I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"' echo ' -DNCURSES_WIDECHAR=1' -- 2.0.2 -- _______________________________________________ linux-yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/linux-yocto
