From patchwork Tue Nov 8 20:10:19 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 9418049 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id ED45860512 for ; Tue, 8 Nov 2016 20:10:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CF939289B1 for ; Tue, 8 Nov 2016 20:10:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C1EA3289BF; Tue, 8 Nov 2016 20:10:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 53C04289B1 for ; Tue, 8 Nov 2016 20:10:45 +0000 (UTC) Received: from localhost ([::1]:35189 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c4CjE-0007tw-37 for patchwork-qemu-devel@patchwork.kernel.org; Tue, 08 Nov 2016 15:10:44 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38815) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c4Cix-0007tr-8y for qemu-devel@nongnu.org; Tue, 08 Nov 2016 15:10:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c4Cit-0000ZI-3h for qemu-devel@nongnu.org; Tue, 08 Nov 2016 15:10:27 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:35566) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c4Cis-0000Z7-R6 for qemu-devel@nongnu.org; Tue, 08 Nov 2016 15:10:23 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 987D1A4B4; Tue, 8 Nov 2016 21:10:21 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3tRo7TlTzlGX; Tue, 8 Nov 2016 21:10:20 +0100 (CET) Received: from var.youpi.perso.aquilenet.fr (unknown [IPv6:2a01:cb19:181:c200:3602:86ff:fe2c:6a19]) by hera.aquilenet.fr (Postfix) with ESMTPSA id B49209C53; Tue, 8 Nov 2016 21:10:20 +0100 (CET) Received: from samy by var.youpi.perso.aquilenet.fr with local (Exim 4.87) (envelope-from ) id 1c4Cip-00045Q-SX; Tue, 08 Nov 2016 21:10:19 +0100 Date: Tue, 8 Nov 2016 21:10:19 +0100 From: Samuel Thibault To: Cornelia Huck Message-ID: <20161108201019.GM2378@var.home> References: <20161107220741.GL2367@var.home> <20161108123449.0e031320.cornelia.huck@de.ibm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20161108123449.0e031320.cornelia.huck@de.ibm.com> User-Agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 141.255.128.1 Subject: Re: [Qemu-devel] [PATCH] Fix legacy ncurses detection. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Michal Suchanek , QEMU Developers Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 commit 4c5e78e8843fa919f2601d8e44029ed0e711c6d9 Author: Samuel Thibault 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 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