On Wed, Dec 07, 2022 at 08:55:10AM -0500, Thompson, David wrote: > Hi Mike, > > On Sat, Dec 3, 2022 at 9:49 PM Mike Gran <spk...@yahoo.com> wrote: > > > It would be really great if we could organize a bit around upstreaming > patches for proper Windows support and come up with some documentation > with official recommendations for how to build for Windows. I never > know what the best approach is: cygwin? mingw? native build (more work > than the other two)? A lot of other Scheme implementations run on > Windows, so Guile should, too.
Cygwin is basically and emulated POSIX layer using a C library (newlib) that is fairly similar to GNU libc. Guile builds and works fine with Cygwin already. The disadvange to Cygwin is that graphical programs in cygwin require an X server, so they are a bit slow to run and quite difficult to package up without requiring a downstream user to get all of Cygwin. MinGW is basically GCC plus a C library that is definitely not POSIX: UCRT or MSVCRT, the native Windows libraries. The result is a native Windows app. It comes with just enough of a shell to run autotools. Native windows using Microsoft's C compiler is always tough because autotools doesn't support it without extreme gymnastics. It works better for CMake programs. I haven't attempted it. It has some quirks like the lack of #include_next that gnulib depends on. The long integer patch is the most important and most disruptive if we want 64-bit windows support. We have to start there, and everything descends from that. I'm not sure how to gather support for that. Regards, Mike Gran