summaryrefslogtreecommitdiff
path: root/meta/recipes-core/ncurses
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2011-11-08 10:21:28 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-10 12:07:21 +0000
commit8b995deb046469c1c713fa053510d2fe94454133 (patch)
tree0c88c6078df25e87e725c5b2858f77c6d8a528ce /meta/recipes-core/ncurses
parentb50bf2fe6d3364e2ceb652623c9c25057d8b1001 (diff)
downloadopenembedded-core-8b995deb046469c1c713fa053510d2fe94454133.tar.gz
openembedded-core-8b995deb046469c1c713fa053510d2fe94454133.tar.bz2
openembedded-core-8b995deb046469c1c713fa053510d2fe94454133.zip
ncurses: refactor configure to avoid configuring widec when disabled
The ENABLE_WIDEC variable can be used to disable ncurses wide character support when your C library doesn't support it. Currently, the do_configure step configures for both narrow and wide characters regardless and only checks ENABLE_WIDEC during compilation. This leads to QA failures with host contamination during configure if the C library doesn't support wide characters. Refactor do_configure with a new ncurses_configure helper function and only configure for wide character support if ENABLE_WIDEC is true. Ensure that configure errors are propogated back through to do_configure. Tested with ENABLE_WIDEC as true and false via an ncurses bbappend on i586, including basic error injection. V2: INC_PR bump Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Diffstat (limited to 'meta/recipes-core/ncurses')
-rw-r--r--meta/recipes-core/ncurses/ncurses.inc66
1 files changed, 35 insertions, 31 deletions
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index be7d387c9c..df9252a03b 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
SECTION = "libs"
DEPENDS = "ncurses-native"
DEPENDS_virtclass-native = ""
-INC_PR = "r1"
+INC_PR = "r2"
inherit autotools binconfig multilib_header
@@ -26,6 +26,36 @@ ENABLE_WIDEC = "true"
# builds.
BUILD_CPPFLAGS += "-D_GNU_SOURCE"
+# Helper function for do_configure to allow multiple configurations
+# $1 the directory to run configure in
+# $@ the arguments to pass to configure
+ncurses_configure() {
+ mkdir -p $1
+ cd $1
+ shift
+ oe_runconf \
+ --disable-static \
+ --without-debug \
+ --without-ada \
+ --without-gpm \
+ --enable-hard-tabs \
+ --enable-xmc-glitch \
+ --enable-colorfgbg \
+ --with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap' \
+ --with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo' \
+ --with-shared \
+ --disable-big-core \
+ --program-prefix= \
+ --with-ticlib \
+ --with-termlib=tinfo \
+ --enable-sigwinch \
+ --enable-pc-files \
+ --disable-rpath-hack \
+ --with-manpage-format=normal \
+ "$@" || return 1
+ cd ..
+}
+
# Override the function from the autotools class; ncurses requires a
# patched autoconf213 to generate the configure script. This autoconf
# is not available so that the shipped script will be used.
@@ -35,36 +65,10 @@ do_configure() {
# not the case for /dev/null redirections)
export cf_cv_working_poll=yes
- for i in \
- 'narrowc' \
- 'widec --enable-widec --without-progs'; do
- set -- $i
- mkdir -p $1
- cd $1
- shift
-
- oe_runconf \
- --disable-static \
- --without-debug \
- --without-ada \
- --without-gpm \
- --enable-hard-tabs \
- --enable-xmc-glitch \
- --enable-colorfgbg \
- --with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap' \
- --with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo' \
- --with-shared \
- --disable-big-core \
- --program-prefix= \
- --with-ticlib \
- --with-termlib=tinfo \
- --enable-sigwinch \
- --enable-pc-files \
- --disable-rpath-hack \
- --with-manpage-format=normal \
- "$@"
- cd ..
- done
+ ncurses_configure "narrowc" || \
+ return 1
+ ! ${ENABLE_WIDEC} || \
+ ncurses_configure "widec" "--enable-widec" "--without-progs"
}
do_compile() {