unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* 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).