[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Bootstrapping Chicken from Darcs

From: felix winkelmann
Subject: Re: [Chicken-users] Bootstrapping Chicken from Darcs
Date: Fri, 21 Jan 2005 07:20:20 +0100

On Thu, 20 Jan 2005 09:15:26 -0600, Patrick Brannan
<address@hidden> wrote:
> When I pulled the Darcs repo the only C file that I got was chicken.h.
> When I get the zip file for 1.89 all of the C files are already there.
> So it's apparent that some version of Chicken has been run against the
> scm files to produce the c files.

runtime.c is there. But you are right that you need a chicken executable
to compile all the other .scm files (including the compiler) into
.c (and subsequently into native code).

> If you have an earlier version of Chicken this easy to overcome, just
> put the old chicken.exe file in the path and away you go. My question
> is this: Is there a problem with bootstrapping a new Chicken using an
> old chicken.exe? How do I know what versions will work? It seems like
> there are bound to be some incompatibilities if you go back far enough
> in versions. Or is the system set up so that any Scheme implementation
> could run the correct scm files and produce chicken.c?

There _are_ bootstrapping issues from time to time - sometimes
compiling the .scm files needs an extended version of chicken to
work. Since I bootstrap at high frequency these issues don't come
up too often on my development system. But when these issues
occur a too old version of the compiler may fail. For this reason
I release "snapshot" tarballs, so that everybody is always able
to get a working system. 

Actually, I really should find a way to check this at build time...

(Mind you, I had very weird bootstrapping problems myself.
Hand-fixing the generated .c output to get a working compiler
is no fun. ;-)

> If this is all documented somewhere, feel free to point me to the right spot.

There isn't much more than README.darcs. But I always try to make
sure not to use new language extensions in the compiler itself, so
that older versions are still able to build it.
If you have any problems bootstrapping, tell me and I upload a new
tarball to the website.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]