qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Fix legacy ncurses detection.


From: Cornelia Huck
Subject: Re: [Qemu-devel] [PATCH] Fix legacy ncurses detection.
Date: Mon, 7 Nov 2016 17:26:56 +0100

On Mon, 7 Nov 2016 13:55:29 +0000
Peter Maydell <address@hidden> wrote:

> On 7 November 2016 at 13:38, Michal Suchanek <address@hidden> wrote:
> > ncurses version in SUSE does not have .pc files so this is still needed to
> > build from git.
> >
> > Signed-off-by: Michal Suchanek <address@hidden>
> > ---
> >  configure | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index fd6f898..aab70ef 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"
> 
> I think this will produce malformed output on platforms where
> pkg-config does output something useful:
> -D_GNU_SOURCE -I/usr/include/ncursesw-I/usr/include/ncursesw:
> 
> because there's no colon after the ')'.
> 
> In fact this code looks kind of dubious in general, because
> it seems to assume that the output of pkg_config never has
> a ':' in it...

Didn't see the original patch (mailing list slow?), but I have the same
problem on a SLES12SP1 system (reported some days ago).

The following seems to fix it for me (I can send it with a proper s-o-b
if this looks good). Systems that don't have any cursesw hopefully still
fail properly (I don't have one around to test, though.)

diff --git a/configure b/configure
index fd6f898..825f2b3 100755
--- a/configure
+++ b/configure
@@ -2927,6 +2927,10 @@ if test "$curses" != "no" ; then
     curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
   else
     curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):"
+    if [ "$curses_inc_list" == ":" ]; then
+       # some systems don't provide a proper .pc file for ncursesw
+       curses_inc_list="-I/usr/include/ncursesw:"
+    fi
     curses_lib_list="$($pkg_config --libs ncursesw 
2>/dev/null):-lncursesw:-lcursesw"
   fi
   curses_found=no




reply via email to

[Prev in Thread] Current Thread [Next in Thread]