From: Samuel Thibault <samuel.thibault@gnu.org>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Michal Suchanek <msuchanek@suse.de>,
QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] Fix legacy ncurses detection.
Date: Tue, 8 Nov 2016 21:10:19 +0100 [thread overview]
Message-ID: <20161108201019.GM2378@var.home> (raw)
In-Reply-To: <20161108123449.0e031320.cornelia.huck@de.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 1826 bytes --]
Cornelia Huck, on Tue 08 Nov 2016 12:34:49 +0100, wrote:
> > diff --git a/configure b/configure
> > index fd6f898..e200aa8 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:"
>
> This arrives at
>
> curses_inc_list=":-I/usr/include/ncursesw:"
>
> which causes the parser below to start with an empty curses_inc (with :
> as separator).
Yes, this is expected.
> configure fails as before (with -Werror; passes without).
Ah!
So are you getting the following message?
“
configure test passed without -Werror but failed with -Werror.
This is probably a bug in the configure script. The failing command
will be at the bottom of config.log.
You can run configure with --disable-werror to bypass this check.
”
If so, you should really have said it, I was really wondering how
configure could just stopping in your case. That does explain things
indeed.
Could you try the attached patch? It should be able to really fail
without Werror too.
> > @@ -2955,6 +2955,9 @@ EOF
> > break
> > fi
> > done
> > + if test "$curses_found" = yes ; then
> > + break
> > + fi
>
> Breaking out as soon as we've found a working config seems like a good
> idea, but I don't think it's related to this issue.
Actually it is: in your case it's the second config which will work, the
third one will fail. Not breaking would mean we keep the failing one.
Samuel
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 1611 bytes --]
commit 4c5e78e8843fa919f2601d8e44029ed0e711c6d9
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.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
diff --git a/configure b/configure
index fd6f898..f35edf8 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,6 +2941,7 @@ int main(void) {
resize_term(0, 0);
addwstr(L"wide chars\n");
addnwstr(&wch, 1);
+ add_wch(WACS_DEGREE);
return s != 0;
}
EOF
@@ -2955,6 +2956,9 @@ EOF
break
fi
done
+ if test "$curses_found" = yes ; then
+ break
+ fi
done
unset IFS
if test "$curses_found" = "yes" ; then
next prev parent reply other threads:[~2016-11-08 20:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-07 13:38 [Qemu-devel] [PATCH] Fix legacy ncurses detection Michal Suchanek
2016-11-07 13:55 ` Peter Maydell
2016-11-07 16:26 ` Cornelia Huck
2016-11-07 22:07 ` Samuel Thibault
2016-11-08 11:34 ` Cornelia Huck
2016-11-08 20:10 ` Samuel Thibault [this message]
2016-11-09 8:58 ` Cornelia Huck
2016-11-09 9:04 ` Samuel Thibault
2016-11-09 9:12 ` Cornelia Huck
2016-11-09 9:28 ` Samuel Thibault
2016-11-09 9:40 ` Cornelia Huck
2016-11-09 9:52 ` Samuel Thibault
2016-11-09 10:04 ` Cornelia Huck
2016-11-09 10:15 ` Sergey Smolov
2016-11-09 10:25 ` Samuel Thibault
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161108201019.GM2378@var.home \
--to=samuel.thibault@gnu.org \
--cc=cornelia.huck@de.ibm.com \
--cc=msuchanek@suse.de \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).