On Sat, Nov 28, 2020 at 9:45 AM Scott Branden <scott.branden@xxxxxxxxxxxx> wrote: > > From: Bruce Ashfield <bruce.ashfield@xxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxx> > cc: Michal Marek <mmarek@xxxxxxx> > cc: linux-kbuild@xxxxxxxxxxxxxxx > Signed-off-by: Bruce Ashfield <bruce.ashfield@xxxxxxxxxxxxx> > Signed-off-by: Scott Branden <scott.branden@xxxxxxxxxxxx> > --- Some people solve the cross-compiling in Yocto by using pkg-config. For example, commit 067c650c456e758f933aaf87a202f841d34be269 Author: Pavel Modilaynen <pavel.modilaynen@xxxxxxxx> Date: Fri Jul 12 13:52:19 2019 +0200 dtc: Use pkg-config to locate libyaml Using Makefile's wildcard with absolute path to detect the presence of libyaml results in false-positive detection when cross-compiling e.g. in yocto environment. mconf-cfg.sh already allows the path flexibility with pkg-config. Why do you want yet another hook? > scripts/kconfig/mconf-cfg.sh | 8 ++++++++ > 1 file changed, 8 insertions(+) > mode change 100755 => 100644 scripts/kconfig/mconf-cfg.sh > > diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh > old mode 100755 > new mode 100644 > index aa68ec95620d..32448bc198a5 > --- a/scripts/kconfig/mconf-cfg.sh > +++ b/scripts/kconfig/mconf-cfg.sh > @@ -4,6 +4,14 @@ > PKG="ncursesw" > PKG2="ncurses" > > +if [ "$CROSS_CURSES_LIB" != "" ]; then > + echo libs=\'$CROSS_CURSES_LIB\' > + if [ x"$CROSS_CURSES_INC" != x ]; then > + echo cflags=\'$CROSS_CURSES_INC\' > + fi > + exit 0 > +fi > + > if [ -n "$(command -v pkg-config)" ]; then > if pkg-config --exists $PKG; then > echo cflags=\"$(pkg-config --cflags $PKG)\" > -- > 2.17.1 > -- Best Regards Masahiro Yamada