summaryrefslogtreecommitdiffstats
path: root/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch
blob: 22b67c4051a29d76b209b4be45a526f357f0f496 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Upstream-Status: Xen: Inappropriate [oe specific, cross compile issue]
Upstream-Status: Kernel: Pending
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
commit e6972e689a980ab28637e94e48c77eeace6abde5
Author: Bruce Ashfield <bruce.ashfield@windriver.com>
Date:   Mon Jul 2 23:10:28 2018 -0400

    xen/kconfig,menuconfig,mconf-cfg: Allow specification of ncurses location

    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.

    Change-Id: Ibe8dfafc90655e3be2671dbbb0cb7f5631fc4d44
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    cc: Michal Marek <mmarek@suse.cz>
    cc: linux-kbuild@vger.kernel.org
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

diff --git a/xen/tools/kconfig/mconf-cfg.sh b/xen/tools/kconfig/mconf-cfg.sh
old mode 100755
new mode 100644
index c812872..65a9b9e
--- a/xen/tools/kconfig/mconf-cfg.sh
+++ b/xen/tools/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)\"