On Thu, 2025-02-27 at 04:12 +0000, Mike Gran wrote: > OK. This patchset does not result in a functional build on any of the Win32 > VMs I've tested. It seems necessary but not sufficient. I feel like there > needs to be a few more patches that should have been attached. I could fairly > easily tweak it into shape, but, I'd rather make sure I've got the full story > first. > > For reference, I started with a recent main and applied 6 patches I found in > the history of this email-chain. > > - Fix lightening x86_64 Windows calling convention > - Store hashes as uintptr_t > - Decouple scm_t_inum from long datatype > - Rename functions that should accept scm_t_inum > - scm_integer_modulo_expt_nnn: Refactor to use scm_to_mpz > - scm_i_divide2double: Refactor to use scm_to_mpz > > If someone wants to point me to a complete source tarball > to diff with main or some other additional source of information, > I can continue my evaluation. Else, I can use these patches along > with my own patchset to complete this work.
The full set of patches can be found here: https://gitlab.com/lilypond/lilypond/-/tree/master/release/binaries/patches and the build configuration "recipe" is here: https://gitlab.com/lilypond/lilypond/-/blob/master/release/binaries/lib/dependencies.py#L642 The first five patches should be enough to get a booting Guile, the sixth patch (the first one in your list) is for a working JIT. If you use MiniGMP (I think I saw this in the repository you linked in the previous email), you will additionally need to patch MINI_GMP_LIMB_TYPE: https://gitlab.com/lilypond/lilypond/-/blob/master/release/binaries/lib/dependencies.py#L696 I didn't include / post this as a proper patch yet because a) in the beginning we were using a full GMP build which didn't need it, plus b) I'm not entirely sure that this change is correct in general, for example on 32-bit platforms. This needs to be fully sorted out, but the first five patches are the most important ones ("learn to walk before starting to run"). Jonas
signature.asc
Description: This is a digitally signed message part