[linux-yocto] [PATCH] menuconfig, check-lxdiaglog.sh: Allow specification of ncurses location

Yang Shi yang.shi at windriver.com
Thu Sep 25 11:26:49 PDT 2014


From: Jason Wessel <jason.wessel at windriver.com>

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 <jason.wessel at windriver.com>
cc: Michal Marek <mmarek at suse.cz>
cc: linux-kbuild at vger.kernel.org
---
 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



More information about the linux-yocto mailing list