* Re-using bootstrap in the half-strap
@ 2016-10-24 15:30 Christopher Allan Webber
2016-10-24 16:48 ` Mathieu Lirzin
2016-10-25 21:13 ` Ludovic Courtès
0 siblings, 2 replies; 4+ messages in thread
From: Christopher Allan Webber @ 2016-10-24 15:30 UTC (permalink / raw)
To: guile-devel
Hello,
A thought this morning... one challenge with Guile's 2.1 branch is it
takes a lonnnng time to bootstrap. There are good reasons for this, and
Andy Wingo has documented them:
http://wingolog.org/archives/2016/01/11/the-half-strap-self-hosting-and-guile
However, I can't help but wonder if we could reuse the initial
bootstrapped compiler. What if we had an external package that
contained *just* the scheme interpreter used to bootstrap the rest of
the system? We might not need to separate the codebase, but have this
be a separate make output.
If you could package *just* the bootstrapped compiler, if a user doesn't
feel like waiting through the whole bootstrap process, they could use
the existing bootstrap package, like:
./configure --with-bootstrap=/path/to/guile-bootstrap
and maybe we could have a guile-bootstrap package in guix, etc. If you
want to do the whole bootstrap yourself in the Guile package, you could
do so, but it wouldn't be a requirement, assuming you had that separate
package...
Thoughts? Useful? Badly informed?
- Chris
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Re-using bootstrap in the half-strap
2016-10-24 15:30 Re-using bootstrap in the half-strap Christopher Allan Webber
@ 2016-10-24 16:48 ` Mathieu Lirzin
2016-10-25 21:13 ` Ludovic Courtès
1 sibling, 0 replies; 4+ messages in thread
From: Mathieu Lirzin @ 2016-10-24 16:48 UTC (permalink / raw)
To: Christopher Allan Webber; +Cc: guile-devel
Hello,
Christopher Allan Webber <cwebber@dustycloud.org> writes:
> A thought this morning... one challenge with Guile's 2.1 branch is it
> takes a lonnnng time to bootstrap. There are good reasons for this, and
> Andy Wingo has documented them:
>
> http://wingolog.org/archives/2016/01/11/the-half-strap-self-hosting-and-guile
>
> However, I can't help but wonder if we could reuse the initial
> bootstrapped compiler. What if we had an external package that
> contained *just* the scheme interpreter used to bootstrap the rest of
> the system? We might not need to separate the codebase, but have this
> be a separate make output.
>
> If you could package *just* the bootstrapped compiler, if a user doesn't
> feel like waiting through the whole bootstrap process, they could use
> the existing bootstrap package, like:
>
> ./configure --with-bootstrap=/path/to/guile-bootstrap
>
> and maybe we could have a guile-bootstrap package in guix, etc. If you
> want to do the whole bootstrap yourself in the Guile package, you could
> do so, but it wouldn't be a requirement, assuming you had that separate
> package...
>
> Thoughts? Useful? Badly informed?
> - Chris
I feel the same way. I don't know about the technical details, but
such convenience would be more than welcome.
Thanks,
--
Mathieu Lirzin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Re-using bootstrap in the half-strap
2016-10-24 15:30 Re-using bootstrap in the half-strap Christopher Allan Webber
2016-10-24 16:48 ` Mathieu Lirzin
@ 2016-10-25 21:13 ` Ludovic Courtès
2016-10-26 22:30 ` Christopher Allan Webber
1 sibling, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2016-10-25 21:13 UTC (permalink / raw)
To: guile-devel
Hi!
Christopher Allan Webber <cwebber@dustycloud.org> skribis:
> If you could package *just* the bootstrapped compiler, if a user doesn't
> feel like waiting through the whole bootstrap process, they could use
> the existing bootstrap package, like:
>
> ./configure --with-bootstrap=/path/to/guile-bootstrap
That’s essentially what happens when cross-compiling Guile, where the
GUILE_FOR_BUILD variable must point to a same-version Guile.
What you’re suggesting seems equivalent to bundling the pre-built .go
files, which is what is done with release tarballs.
Or am I missing something?
Thanks,
Ludo’, who sympathizes. :-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Re-using bootstrap in the half-strap
2016-10-25 21:13 ` Ludovic Courtès
@ 2016-10-26 22:30 ` Christopher Allan Webber
0 siblings, 0 replies; 4+ messages in thread
From: Christopher Allan Webber @ 2016-10-26 22:30 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guile-devel
Ludovic Courtès writes:
> Hi!
>
> Christopher Allan Webber <cwebber@dustycloud.org> skribis:
>
>> If you could package *just* the bootstrapped compiler, if a user doesn't
>> feel like waiting through the whole bootstrap process, they could use
>> the existing bootstrap package, like:
>>
>> ./configure --with-bootstrap=/path/to/guile-bootstrap
>
> That’s essentially what happens when cross-compiling Guile, where the
> GUILE_FOR_BUILD variable must point to a same-version Guile.
>
> What you’re suggesting seems equivalent to bundling the pre-built .go
> files, which is what is done with release tarballs.
>
> Or am I missing something?
>
> Thanks,
> Ludo’, who sympathizes. :-)
I'm suggesting we don't bundle them *with* it... because that wouldn't
be helpful when building from a git checkout. But if we could point to
the prebuilt .go files from a separate package, then yeah!
Note that I wouldn't want to *require* building from a separate
package... I agree that it's valuable to be able to not rely on Guile to
build Guile :)
But maybe I'm just being silly!
- Chris
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-10-26 22:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-24 15:30 Re-using bootstrap in the half-strap Christopher Allan Webber
2016-10-24 16:48 ` Mathieu Lirzin
2016-10-25 21:13 ` Ludovic Courtès
2016-10-26 22:30 ` Christopher Allan Webber
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).