qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "罗勇刚(Yonggang Luo)" <luoyonggang@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Ed Maste <emaste@freebsd.org>,
	Qemu-block <qemu-block@nongnu.org>, Stefan Weil <sw@weilnetz.de>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Peter Lieven <pl@kamp.de>, qemu-level <qemu-devel@nongnu.org>,
	Michael Roth <mdroth@linux.vnet.ibm.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Max Reitz <mreitz@redhat.com>, Li-Wen Hsu <lwhsu@freebsd.org>,
	Markus Armbruster <armbru@redhat.com>
Subject: Re: [PATCH v2 03/21] configure: Fixes ncursesw detection under msys2/mingw and enable curses
Date: Wed, 9 Sep 2020 14:22:48 +0100	[thread overview]
Message-ID: <20200909132248.GL1011023@redhat.com> (raw)
In-Reply-To: <CAE2XoE_02FDvGmwUCAFEOrog4z1iwtqoVYuSiZThBrFRLx0WfA@mail.gmail.com>

On Wed, Sep 09, 2020 at 08:55:15PM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Wed, Sep 9, 2020 at 8:51 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
> 
> > On Wed, Sep 09, 2020 at 05:45:59PM +0800, Yonggang Luo wrote:
> > > The mingw pkg-config are showing following absolute path and contains :
> > as the separator,
> > > so we must handling : properly.
> > >
> > > -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L
> > -IC:/CI-Tools/msys64/mingw64/include/ncursesw:-I/usr/include/ncursesw:
> > > -DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC
> > -pipe -lncursesw -lgnurx -ltre -lintl -liconv
> > > -DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC
> > -lncursesw
> > > -DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC
> > -lcursesw
> > > -DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -pipe
> > -lncursesw -lgnurx -ltre -lintl -liconv
> > > -DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lncursesw
> > > -DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lcursesw
> > > -DNCURSES_WIDECHAR -I/usr/include/ncursesw -pipe -lncursesw -lgnurx
> > -ltre -lintl -liconv
> > > -DNCURSES_WIDECHAR -I/usr/include/ncursesw -lncursesw
> > > -DNCURSES_WIDECHAR -I/usr/include/ncursesw -lcursesw
> > >
> > > msys2/mingw lacks the POSIX-required langinfo.h.
> > >
> > > gcc test.c -DNCURSES_WIDECHAR -I/mingw64/include/ncursesw -pipe
> > -lncursesw -lgnurx -ltre -lintl -liconv
> > > test.c:4:10: fatal error: langinfo.h: No such file or directory
> > >     4 | #include <langinfo.h>
> > >       |          ^~~~~~~~~~~~
> > > compilation terminated.
> > >
> > > So we using g_get_codeset instead of nl_langinfo(CODESET)
> > >
> > > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > > Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
> > > ---
> > >  configure   |  9 +++------
> > >  ui/curses.c | 10 +++++-----
> > >  2 files changed, 8 insertions(+), 11 deletions(-)
> > >
> > > diff --git a/configure b/configure
> > > index f4f8bc3756..2e6d54e15b 100755
> > > --- a/configure
> > > +++ b/configure
> > > @@ -3653,8 +3653,8 @@ if test "$iconv" = "no" ; then
> > >  fi
> > >  if test "$curses" != "no" ; then
> > >    if test "$mingw32" = "yes" ; then
> > > -    curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):"
> > > -    curses_lib_list="$($pkg_config --libs ncurses
> > 2>/dev/null):-lpdcurses"
> > > +    curses_inc_list="$($pkg_config --cflags ncursesw
> > 2>/dev/null):-I/${MSYSTEM,,}/include/ncursesw:"
> > > +    curses_lib_list="$($pkg_config --libs ncursesw
> > 2>/dev/null):-lncursesw"
> >
> > The original code would try  ncurses via pkg-config and if that failed,
> > would
> > falback to pdcurses.
> >
> > The new code tries ncursesw via pkg-config and then tries ncursesw again
> > via manually specified args, and doesn't try  ncurses or pdcurses at all.
> >
> Gotcha, Indeed   $pkg_config --cflags ncurses can find curses on mingw32,
> the problem is onw mingw32 the include path
> have :, so we can not use : as the path sepaerator, for cross-paltform
> reason, which is best for path separator?

I guess it was using ":" because " " might be valid in the file path.

How about using "#" or "%" instead as those should be more unlikely to
clash.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  reply	other threads:[~2020-09-09 13:24 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-09  9:45 [PATCH v2 00/21] W32, W64 msys2/mingw patches Yonggang Luo
2020-09-09  9:45 ` [PATCH v2 01/21] block: Fixes nfs compiling error on msys2/mingw Yonggang Luo
2020-09-09 12:24   ` Daniel P. Berrangé
2020-09-10  7:01   ` Peter Lieven
2020-09-10  7:14     ` 罗勇刚(Yonggang Luo)
2020-09-10  7:29       ` Peter Lieven
2020-09-10  9:02         ` 罗勇刚(Yonggang Luo)
2020-09-09  9:45 ` [PATCH v2 02/21] ci: fixes msys2 build by upgrading capstone to 4.0.2 Yonggang Luo
2020-09-09 12:26   ` Daniel P. Berrangé
2020-09-09 15:27     ` 罗勇刚(Yonggang Luo)
2020-09-09  9:45 ` [PATCH v2 03/21] configure: Fixes ncursesw detection under msys2/mingw and enable curses Yonggang Luo
2020-09-09 12:50   ` Daniel P. Berrangé
2020-09-09 12:55     ` 罗勇刚(Yonggang Luo)
2020-09-09 13:22       ` Daniel P. Berrangé [this message]
2020-10-02 17:49   ` 罗勇刚(Yonggang Luo)
2020-09-09  9:46 ` [PATCH v2 04/21] curses: Fixes curses compiling errors Yonggang Luo
2020-09-09 12:51   ` Daniel P. Berrangé
2020-09-09 13:26   ` Peter Maydell
2020-09-09 15:58     ` 罗勇刚(Yonggang Luo)
2020-09-09  9:46 ` [PATCH v2 05/21] tests: disable /char/stdio/* tests in test-char.c on win32 Yonggang Luo
2020-09-09 12:52   ` Daniel P. Berrangé
2020-09-09 18:10     ` 罗勇刚(Yonggang Luo)
2020-09-09  9:46 ` [PATCH v2 06/21] ci: Enable msys2 ci in cirrus Yonggang Luo
2020-09-09 12:53   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 07/21] tests: Trying fixes test-replication.c on msys2/mingw Yonggang Luo
2020-09-09 12:55   ` Daniel P. Berrangé
2020-09-09 12:59     ` 罗勇刚(Yonggang Luo)
2020-09-09  9:46 ` [PATCH v2 08/21] tests: test-replication disable /replication/secondary/* " Yonggang Luo
2020-09-09 12:58   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 09/21] osdep: These function are only available on Non-Win32 system Yonggang Luo
2020-09-09 12:59   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 10/21] meson: Use -b to ignore CR vs. CR-LF issues on Windows Yonggang Luo
2020-09-09 12:59   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 11/21] meson: disable crypto tests are empty under win32 Yonggang Luo
2020-09-09 13:00   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 12/21] meson: remove empty else and duplicated gio deps Yonggang Luo
2020-09-09 13:00   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 13/21] vmstate: Fixes test-vmstate.c on msys2/mingw Yonggang Luo
2020-09-09 13:05   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 14/21] cirrus: Building freebsd in a single short Yonggang Luo
2020-09-09 17:32   ` Ed Maste
2020-09-09 18:16     ` Daniel P. Berrangé
2020-09-09 18:28       ` 罗勇刚(Yonggang Luo)
2020-09-09  9:46 ` [PATCH v2 15/21] tests: Convert g_free to g_autofree macro in test-logging.c Yonggang Luo
2020-09-09 13:08   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 16/21] rcu: add uninit destructor for rcu Yonggang Luo
2020-09-09  9:46 ` [PATCH v2 17/21] tests: Fixes test-io-channel-socket.c tests under msys2/mingw Yonggang Luo
2020-09-09 13:08   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 18/21] tests: fixes aio-win32 about aio_remove_fd_handler, get it consistence with aio-posix.c Yonggang Luo
2020-09-09  9:46 ` [PATCH v2 19/21] tests: Fixes test-io-channel-file by mask only owner file state mask bits Yonggang Luo
2020-09-09 13:10   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 20/21] tests: fix test-util-sockets.c Yonggang Luo
2020-09-09 13:11   ` Daniel P. Berrangé
2020-09-09  9:46 ` [PATCH v2 21/21] tests: Fixes test-qdev-global-props.c Yonggang Luo
2020-09-09 13:18   ` Daniel P. Berrangé

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=20200909132248.GL1011023@redhat.com \
    --to=berrange@redhat.com \
    --cc=armbru@redhat.com \
    --cc=emaste@freebsd.org \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=luoyonggang@gmail.com \
    --cc=lwhsu@freebsd.org \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=mreitz@redhat.com \
    --cc=pl@kamp.de \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=sw@weilnetz.de \
    --cc=wencongyang2@huawei.com \
    --cc=xiechanglong.d@gmail.com \
    /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).