On Sun, Jun 22, 2025 at 11:42:01AM +0000, Kirill Makurin wrote: > Thank you for looking into it. I tried building ncurses-6.5-20250621. > > I still get errors with clang-cl.exe (btw, cl.exe is OK since it does not > care) about undeclared functions which are declared in wchar.h from the > following files:
a little surprising, because all of these use curses.priv.h, where I added the #include's for io.h and wchar.h (but I can investigate further). > ``` > ncurses\base\lib_addch.c > ncurses\base\lib_slkset.c > ncurses\tty\tty_update.c > ncurses\widechar\lib_slk_wset.c > ncurses\widechar\charable.c > ncurses\widechar\lib_unget_wch.c > ``` > > About issue with requirement to explicitly link -luser32, I think I'll > suggest Automake update their `compile` script to pass some libraries by > default just like gcc does. This should eventually solve this issue. It also > affects some other packages. > > I think mingw-w64's implementation of tsearch and friends is public domain > and I think their getopt implementation is under BSD-like or MIT. You could > look into it. If you're interested, I could take a look and remove > mingw-specific stuff (e.g. attribute macros) from them so they could compile > by themselves. > > The libraries, including ncurses++ build successfully with MSVC. The only > thing is that I cannot really test them since I am not really familiar with > curses, I was trying to build them as an optional dependency for gettext's > libtextstyle. That's using the low-level terminfo interface, e.g., setupterm and tigetstr Running that code requires a (terminfo) database, which is awkward in the Windows port. If I were doing that, I'd consider using a fallback (compiled-in database), but with a clang-cl and cl toolset, I suppose that running infocmp to generate the fallbacks also is awkward :-) > - Kirill Makurin > > ________________________________ > From: Thomas Dickey > Sent: Saturday, June 21, 2025 10:27 PM > To: [email protected] > Cc: Kirill Makurin > Subject: Re: Building ncurses with MSVC > > On Tue, Jun 17, 2025 at 03:54:19AM -0400, Thomas Dickey wrote: > > On Tue, Jun 17, 2025 at 03:19:10AM +0000, Kirill Makurin wrote: > > > Hello, > > > > > > I have recently tried to build ncurses with MSVC-like tools (cl.exe and > > > clang-cl.exe) and would like to share what I have encountered. > > > > well, yes - if you're attempting to configure on a platform lacking > > the C runtime support, it won't work well. > > > > thanks (will pick through this to improve) > > For now, I'll make the suggested fix for $OBJEXT, and make fixes > for headers io.h and wchar.h -- that should let you make progress. > > The issue with tsearch may be important - but probably requires some effort. > It appears that my choices are reworking source from FreeBSD, or code > that I wrote long ago using Knuth. > > (gnulib isn't a viable choice, due to licensing) > > -- > Thomas E. Dickey <[email protected]> > https://invisible-island.net -- Thomas E. Dickey <[email protected]> https://invisible-island.net
signature.asc
Description: PGP signature
