Guile 64-bit Windows support, redux
Hello Guile, There have been a few times where I made Guile work on MinGW -- usually the 32-bit, unthreaded variety -- because I wanted it for my own entertainment. Often around the time of the Lisp Game Jam. The Game Jam just happened, so I was poking it again. Although I never actually delivered my game this year. Janneke has also poked at Windows support a few times as well, and he actually got it to run on 64-bit Windows. I'd be willing [1] to update the patches for MinGW support for review and inclusion into the main branch for 3.0.10 or 3.2 but, only if maintainers are open, in principle, to committing the most disruptive patch: the one where all long integers become intptr_t to deal with Window's stupid 4-byte longs on 64-bit OSs. Without agreeing on that as a possibility, 64-bit Windows support is DOA. There are a couple of slightly outdated versions of janekke's 64-bit patch. Here, for example: https://git.savannah.gnu.org/cgit/guile.git/commit/?h=wip-mingw&id=76950b4281c7dfff78b9ead6d3d62c070bbc1f13 Lately, with GitHub providing decent zero-cost Windows images for their CI/CD actions, it should be possible to do a nightly pull and 'make distcheck' off the main branch for Windows, Ubuntu, and MacOS, without requiring the developer to use non-free tools directly. (But lots of non-free Javascript and who-knows-what on GitHub's side of things.) If this could be set up, it might stop the Windows build from getting stale so quickly. Also, it might be that this isn't worth doing. After all, you can run Guile on Cygwin and Guix on WSL on Windows 10/11 already. But some projects that depend on Guile do deliver on Windows using customized versions of 2.2 or 1.8. Let me know what you think. -Mike Gran [1] Last two times I volunteered myself for something on Guile/Guix, I got quite ill. Let's not hope for a repeat.
Re: Guile 64-bit Windows support, redux
Le mardi 06 juin 2023 à 20:50 +, Mike Gran a écrit : > Also, it might be that this isn't worth doing. After all, you can run > Guile on Cygwin and Guix on WSL on Windows 10/11 already. > But some projects that depend on Guile do deliver on > Windows using customized versions of 2.2 or 1.8. I would like to stress the importance of Windows support in Guile, and I thank you for working on it. In spite of LilyPond being compatible with Guile 3 for more than a year, we are still on Guile 2.2 solely because of lack of Windows support in Guile 3. LilyPond is not primarily targeted at programmers but musicians, so a large part of our user base is on Windows and it is absolutely unthinkable for us to drop our Windows binaries. Jean signature.asc Description: This is a digitally signed message part
[EXT] Guile 64-bit Windows support, redux
Hi Mike, On Tue, Jun 6, 2023 at 4:51 PM Mike Gran wrote: > > Hello Guile, > > There have been a few times where I made Guile work on > MinGW -- usually the 32-bit, unthreaded variety -- because I wanted it > for my own entertainment. Often around the time of the Lisp Game Jam. > The Game Jam just happened, so I was poking it again. Although > I never actually delivered my game this year. Game jam time is also when I lament the lack of real Windows support. I'm very interested in being able to provide Windows releases of games built with guile-sdl2 and/or chickadee. The Common Lisp and Fennel folks have no problem shipping things for Windows users. > Janneke has also poked at Windows support a few times as well, and > he actually got it to run on 64-bit Windows. Did JIT work? When I tried this years ago it didn't. Would be a major victory if it works now. > I'd be willing [1] to update the patches for MinGW support for > review and inclusion into the main branch > for 3.0.10 or 3.2 but, only if maintainers are open, in principle, > to committing the most disruptive patch: the one where all > long integers become intptr_t to deal with Window's stupid > 4-byte longs on 64-bit OSs. Without agreeing on that as a > possibility, 64-bit Windows support is DOA. > > There are a couple of slightly outdated versions of janekke's 64-bit patch. > Here, for example: > > https://git.savannah.gnu.org/cgit/guile.git/commit/?h=wip-mingw&id=76950b4281c7dfff78b9ead6d3d62c070bbc1f13 > > Lately, with GitHub providing decent zero-cost Windows images > for their CI/CD actions, it should be possible to do a nightly pull > and 'make distcheck' off the main branch for Windows, Ubuntu, > and MacOS, without requiring the developer to use non-free tools > directly. (But lots of non-free Javascript and who-knows-what on > GitHub's side of things.) I'm obviously not a maintainer but I do want to be vocal in my support for a good Windows story. Despite how much I personally do not want to use Windows, I do want users who do to be able to run my software. > If this could be set up, it might stop the Windows build from getting > stale so quickly. > > Also, it might be that this isn't worth doing. After all, you can run > Guile on Cygwin and Guix on WSL on Windows 10/11 already. > But some projects that depend on Guile do deliver on > Windows using customized versions of 2.2 or 1.8. WSL is cool and all, but personally I want to ship native Windows stuff that "just works" as much as possible. I'm not sure what the graphics story is like on WSL these days, but in the past dealing with X11 compatibility and GPUs was not easy, or so I've heard. So for me, I'd really like to see the MinGW build work acceptably (threads, JIT, etc.) Building with MSVC would be even better but I'll take what I can get. :) I just get jealous whenever I look at some new language implementation (or just some other Scheme) and see that it can do native Windows, Linux, and MacOS builds. - Dave
Re: [EXT] Guile 64-bit Windows support, redux
On Tuesday, June 6, 2023 at 02:10:25 PM PDT, Thompson, David wrote: ... >> Janneke has also poked at Windows support a few times as well, and >> he actually got it to run on 64-bit Windows. >Did JIT work? When I tried this years ago it didn't. Would be a major >victory if it works now. There were patches that made it compile, but, I don't think it ever properly worked. I always build without JIT. I haven't tried to build with JIT in a while. ... > I'm obviously not a maintainer but I do want to be vocal in my support > for a good Windows story. Despite how much I personally do not want > to use Windows, I do want users who do to be able to run my software. Same. ... > WSL is cool and all, but personally I want to ship native Windows > stuff that "just works" as much as possible. I'm not sure what the > graphics story is like on WSL these days, but in the past dealing with > X11 compatibility and GPUs was not easy, or so I've heard. So for me, > I'd really like to see the MinGW build work acceptably (threads, JIT, > etc.) Building with MSVC would be even better but I'll take what I > can get. :) I just get jealous whenever I look at some new language > implementation (or just some other Scheme) and see that it can do > native Windows, Linux, and MacOS builds. I have seen guile-gi launch a program on MinGW using MinGW's Gtk libraries. I have no benchmarks. I did attempt a build with MSVC (which is a nightmare because you have to run autoconf in MSYS and use a batch script to translate gcc flags into cl flags). It looked pretty bad: so many compilation errors. I think you'd have to fix all of gnulib and then pull all of gnulib into Guile, haha. -Mike