summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2013-02-09 16:06:57 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-04-23 13:00:48 +0100
commitab2347d37d3a507c8e2d78f49b57a30c68215091 (patch)
treeb685d8caf873b8cca34e2fcb29dd7af43d7b526e /meta
parentc0468d398c5a14baaa5a8491d29091f06737784c (diff)
downloadpoky-ab2347d37d3a507c8e2d78f49b57a30c68215091.tar.gz
ncurses.inc: Fix display corruption and add fallback for sstate compiled paths
CQID: WIND00402979 Display corruption was occurring on 64 bit hosts using menuconfig for the kernel and busybox with the ncurses-native or ncurses-nativesdk because the configure arguments were not sufficient vs the expected use from the upstream source. Also changed in this commit is to provide a fallback to the hard compiled paths for the terminfo and termcap. Eventually this needs to be fixed another way if we want a truly portable SDK because any SDK that is relocated or native binaries pulled out of the sstate can end up referencing terminfo files that no longer are in the same location. Because the host system has terminfo files that ncurses will happily use we might as well have a fall back to buy some time for a better fix, vs having thing just not work occasionally when using sstate. (From OE-Core rev: 15d7cfe9e4186e97690704382817a00fe7c53094) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/ncurses/ncurses.inc32
1 files changed, 29 insertions, 3 deletions
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index ed7f001985..e4832f56db 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
6SECTION = "libs" 6SECTION = "libs"
7DEPENDS = "ncurses-native" 7DEPENDS = "ncurses-native"
8DEPENDS_virtclass-native = "" 8DEPENDS_virtclass-native = ""
9INC_PR = "r11" 9INC_PR = "r12"
10 10
11inherit autotools binconfig multilib_header 11inherit autotools binconfig multilib_header
12 12
@@ -29,6 +29,31 @@ BUILD_CPPFLAGS += "-D_GNU_SOURCE"
29# natives don't generally look in base_libdir 29# natives don't generally look in base_libdir
30base_libdir_virtclass-native = "${libdir}" 30base_libdir_virtclass-native = "${libdir}"
31 31
32# Display corruption occurs on 64 bit hosts without these settings
33# This was derrived from the upstream debian ncurses which uses
34# these settings for 32 and 64 bit hosts.
35EXCONFIG_ARGS = ""
36EXCONFIG_ARGS_virtclass-native = " \
37 --disable-lp64 \
38 --with-chtype='long' \
39 --with-mmask-t='long'"
40EXCONFIG_ARGS_virtclass-nativesdk = " \
41 --disable-lp64 \
42 --with-chtype='long' \
43 --with-mmask-t='long'"
44
45# Fall back to the host termcap / terminfo for -nativesdk and -native
46# The reality is a work around for strange problems with things like
47# "bitbake -c menuconfig busybox" where it cannot find the terminfo
48# because the sstate had a hard coded search path. Until this is fixed
49# another way this is deemed good enough.
50EX_TERMCAP = ""
51EX_TERMCAP_virtclass-native = ":/etc/termcap:/usr/share/misc/termcap"
52EX_TERMCAP_virtclass-nativesdk = ":/etc/termcap:/usr/share/misc/termcap"
53EX_TERMINFO = ""
54EX_TERMINFO_virtclass-native = ":/etc/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
55EX_TERMINFO_virtclass-nativesdk = ":/etc/terminfo:/usr/share/misc/terminfo:/lib/terminfo"
56
32# Helper function for do_configure to allow multiple configurations 57# Helper function for do_configure to allow multiple configurations
33# $1 the directory to run configure in 58# $1 the directory to run configure in
34# $@ the arguments to pass to configure 59# $@ the arguments to pass to configure
@@ -44,8 +69,8 @@ ncurses_configure() {
44 --enable-hard-tabs \ 69 --enable-hard-tabs \
45 --enable-xmc-glitch \ 70 --enable-xmc-glitch \
46 --enable-colorfgbg \ 71 --enable-colorfgbg \
47 --with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap' \ 72 --with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap${EX_TERMCAP}' \
48 --with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo' \ 73 --with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo${EX_TERMINFO}' \
49 --with-shared \ 74 --with-shared \
50 --disable-big-core \ 75 --disable-big-core \
51 --program-prefix= \ 76 --program-prefix= \
@@ -54,6 +79,7 @@ ncurses_configure() {
54 --enable-sigwinch \ 79 --enable-sigwinch \
55 --enable-pc-files \ 80 --enable-pc-files \
56 --disable-rpath-hack \ 81 --disable-rpath-hack \
82 ${EXCONFIG_ARGS} \
57 --with-manpage-format=normal \ 83 --with-manpage-format=normal \
58 "$@" || return 1 84 "$@" || return 1
59 cd .. 85 cd ..