Message ID | 20161109110400.118d4750.cornelia.huck@de.ibm.com |
---|---|
State | New |
Headers | show |
On 09.11.2016 13:04, Cornelia Huck wrote: > On Wed, 9 Nov 2016 10:52:38 +0100 > Samuel Thibault <samuel.thibault@gnu.org> wrote: > >> Hello, >> >> Cornelia Huck, on Wed 09 Nov 2016 10:40:28 +0100, wrote: >>> Still curses=no... log attached. >> Oops, sorry, I misplaced my code, and it somehow worked in my case. >> Could you give a try at the attached patch instead? > Works for me on SLES, Fedora, Ubuntu. > > Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com> > > Sergey, could you test whether the patch works for you as well? > (Inserted for convenience.) > > commit cc8965eb848f53599895a650a6e062319189be1f > Author: Samuel Thibault <samuel.thibault@ens-lyon.org> > Date: Tue Nov 8 20:57:27 2016 +0100 > > Fix cursesw detection > > On systems which do not provide ncursesw.pc and whose /usr/include/curses.h > does not include wide support, we should not only try with no -I, i.e. > /usr/include, but also with -I/usr/include/ncursesw. > > To properly detect for wide support with and without -Werror, we need to > check for the presence of e.g. the WACS_DEGREE macro. > > We also want to stop at the first curses_inc_list configuration which works, > and make sure to set IFS to : at each new loop. > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > > diff --git a/configure b/configure > index fd6f898..7d2a34e 100755 > --- a/configure > +++ b/configure > @@ -2926,7 +2926,7 @@ if test "$curses" != "no" ; then > curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):" > curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses" > else > - curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):" > + curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-I/usr/include/ncursesw:" > curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw" > fi > curses_found=no > @@ -2941,11 +2941,13 @@ int main(void) { > resize_term(0, 0); > addwstr(L"wide chars\n"); > addnwstr(&wch, 1); > + add_wch(WACS_DEGREE); > return s != 0; > } > EOF > IFS=: > for curses_inc in $curses_inc_list; do > + IFS=: > for curses_lib in $curses_lib_list; do > unset IFS > if compile_prog "$curses_inc" "$curses_lib" ; then > @@ -2955,6 +2957,9 @@ EOF > break > fi > done > + if test "$curses_found" = yes ; then > + break > + fi > done > unset IFS > if test "$curses_found" = "yes" ; then > It works, thank you! Is it planned to publish this patch into master?
Sergey Smolov, on Wed 09 Nov 2016 13:15:18 +0300, wrote:
> Is it planned to publish this patch into master?
Yes.
Samuel
diff --git a/configure b/configure index fd6f898..7d2a34e 100755 --- a/configure +++ b/configure @@ -2926,7 +2926,7 @@ if test "$curses" != "no" ; then curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):" curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses" else - curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):" + curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-I/usr/include/ncursesw:" curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw" fi curses_found=no @@ -2941,11 +2941,13 @@ int main(void) { resize_term(0, 0); addwstr(L"wide chars\n"); addnwstr(&wch, 1); + add_wch(WACS_DEGREE); return s != 0; } EOF IFS=: for curses_inc in $curses_inc_list; do + IFS=: for curses_lib in $curses_lib_list; do unset IFS if compile_prog "$curses_inc" "$curses_lib" ; then @@ -2955,6 +2957,9 @@ EOF break fi done + if test "$curses_found" = yes ; then + break + fi done unset IFS if test "$curses_found" = "yes" ; then