From b2cd5f340ea220360e3fb90282c75994d9e553ca Mon Sep 17 00:00:00 2001 From: Diego Sueiro Date: Fri, 14 Aug 2020 10:56:33 +0100 Subject: xen: Fix menuconfig and add support for config fragments and diffconfig This patch introduces the following changes: 1. When building in OE environment the linker path needs to be passed when buildind the Kconfig tool in order to get the menuconfig task properly working. 2. By inheriting cml1.bbclass we can drop some environment variables settings in xen-hypervisor.inc for the menuconfig task, and also be able to search for config fragmens and use the diffconfig task. Also, there is no need to have a custom do_menuconfig task anymore. Change-Id: I8d61ec76d92de7d1613b79edf55b4868fe712334 Signed-off-by: Diego Sueiro Signed-off-by: Bruce Ashfield --- ...g-Allow-specification-of-ncurses-location.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch (limited to 'recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch') diff --git a/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch b/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch new file mode 100644 index 00000000..22b67c40 --- /dev/null +++ b/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch @@ -0,0 +1,49 @@ +Upstream-Status: Xen: Inappropriate [oe specific, cross compile issue] +Upstream-Status: Kernel: Pending +Signed-off-by: Diego Sueiro +commit e6972e689a980ab28637e94e48c77eeace6abde5 +Author: Bruce Ashfield +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 + cc: Michal Marek + cc: linux-kbuild@vger.kernel.org + Signed-off-by: Bruce Ashfield + +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)\" -- cgit v1.2.3-54-g00ecf