Re: [PATCH] Remove and ignore generated files

2024-01-04 Thread Developers list for Guile, the GNU extensibility library
On Tue, 2023-11-28 at 22:01 +0100, Jonas Hahnfeld wrote:
> On Wed, 2023-10-18 at 22:24 +0200, Jonas Hahnfeld wrote:
> > Hi,
> > 
> > running autogen.sh produces a number of generated files that are
> > currently not properly ignored or even checked into git. Please take a
> > look at the attached patches and apply if suitable.
> 
> ping, any maintainer willing to take a look?

Another ping, the three (pretty straightforward) patches are available
from the list archives:
https://lists.gnu.org/archive/html/guile-devel/2023-10/msg00029.html

Jonas


signature.asc
Description: This is a digitally signed message part


Re: Guile 64-bit Windows support, redux

2024-01-04 Thread Developers list for Guile, the GNU extensibility library
On Tue, 2023-11-28 at 22:04 +0100, Jonas Hahnfeld wrote:
> On Sun, 2023-10-29 at 22:34 +0100, Jonas Hahnfeld wrote:
> > On Tue, 2023-06-06 at 20:50 +, Mike Gran wrote:
> > > Hello Guile,
> > 
> > Hi Mike,
> > 
> > I'm sorry for "necrobumping" this thread; I wanted to reply back in
> > June but didn't have enough time to work through what I will explain
> > further below. In any case, I would very much like to see good Windows
> > 64-bit support in Guile to make use of it in LilyPond.
> > 
> > > [...]
> > > 
> > > 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.
> > 
> > For a long time, I wasn't really convinced by this argument until I
> > realized that the alternative would complicate cross-compilation and
> > move away from the simple {32-bit, 64-bit} x {little-endian, big-
> > endian} matrix for the bytecode.
> > 
> > > 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=76950b4281c7dfff78b9ead6d3d62c070bbc1f13
> > 
> > If I understand correctly, one of the contentious points of this commit
> > (apart from being big and having many changes in one) is that it moves
> > GMP away from long. IIRC there was a statement somewhere that GMP will
> > not change their APIs, which basically means that Guile on Windows
> > would forever be stuck with a quite significantly patched mini-gmp.
> > 
> > I would like to propose a different approach: It turns out to be
> > possible to just define scm_t_inum as intptr_t, while leaving GMP
> > interfaces alone (be that mini-gmp or a full GMP). Instead, the
> > mismatch in type widths can be handled during the conversion to mpz.
> > For a practical implementation, see the fourth patch attached to this
> > message.
> > 
> > Afterwards, the fifth patch takes care of the hashes, which are
> > expected to have the same width as pointers. This is required because
> > (at least) hashes of symbols are stored into the bytecode. Taken
> > together, this seems to enable enough functionality to run LilyPond
> > with Guile 3 on Windows.
> > 
> > What do you and others think of this approach, would this be "more"
> > acceptable to land in main?
> 
> Ping, any comments on this approach? I built binaries for LilyPond
> 2.25.10 using these patches applied on top of Guile 3.0.9 and the
> result seems to work fine on Windows.

Another ping; meanwhile we switched to building the official binaries
of LilyPond with Guile 3.0 starting from version 2.25.11, but it would
be really great to get rid of our downstream patches...

Cheers,
Jonas


signature.asc
Description: This is a digitally signed message part


[PATCH] Speed up stage0 bootstrap build using prebuilts

2024-01-04 Thread Developers list for Guile, the GNU extensibility library
From 95f15821c535537c7ad4fdae1988855314d56ece Mon Sep 17 00:00:00 2001
From: Jonas Hahnfeld 
Date: Thu, 4 Jan 2024 11:44:55 +0100
Subject: [PATCH] Speed up stage0 bootstrap build using prebuilts

Use prebuilt bytecode of ice-9/eval.go and others for all of stage0,
it is optimized and evaluation is much faster. In my environment,
this speeds up the build of guile-3.0.9 from around 29 minutes to
only 19 minutes.

* meta/build-env.in: In stage0, prefer prebuilt bytecode over just
compiled stage0 files.
---
 meta/build-env.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/build-env.in b/meta/build-env.in
index bdc88ded4..446a536af 100644
--- a/meta/build-env.in
+++ b/meta/build-env.in
@@ -58,7 +58,7 @@ then
 fi
 export GUILE_LOAD_PATH
 case "$GUILE_BOOTSTRAP_STAGE" in
-stage0) 
GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage0:${top_srcdir}/prebuilt/@SCM_PREBUILT_BINARIES@"
 ;;
+stage0) 
GUILE_LOAD_COMPILED_PATH="${top_srcdir}/prebuilt/@SCM_PREBUILT_BINARIES@:${top_builddir}/stage0"
 ;;
 stage1) 
GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1:${top_builddir}/stage0" ;;
 stage2) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1" ;;
 *) 
GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage2:${top_builddir}/guile-readline"
 ;;
-- 
2.43.0


signature.asc
Description: This is a digitally signed message part


Re: [PATCH] Fixes for custom-ports

2024-01-04 Thread Developers list for Guile, the GNU extensibility library
On Tue, 2023-11-28 at 22:01 +0100, Jonas Hahnfeld wrote:
> On Sun, 2023-10-29 at 10:51 +0100, Jonas Hahnfeld via Developers list
> for Guile, the GNU extensibility library wrote:
> > Hi,
> > 
> > while playing with current Guile main on Windows, I found some problems
> > in the implementation of custom-ports that was recently committed.
> > Please consider the attached patches.
> 
> ping...

Another ping, the patches are available from the archives:
https://lists.gnu.org/archive/html/guile-devel/2023-10/msg00050.html

Jonas


signature.asc
Description: This is a digitally signed message part