[gambit-list] Bootstrapping from the Gambit github repo

Bakul Shah bakul at bitblocks.com
Thu Apr 12 16:55:12 EDT 2012


On Thu, 12 Apr 2012 15:46:21 EDT Marc Feeley <feeley at iro.umontreal.ca>  wrote:
> 
> This "direct bootstrap" is not possible because the .c files generated by the
> Gambit compiler from the .scm files when compiling itself are not stored on 
> the github repository.  The generated .c files are very large and including a
> ll versions would make the repository considerably larger.
> 
> I am proposing to include the generated .c files in the repo, but only commit
> changes occasionally.  Basically, every time a new release would be published
> (i.e. a .tar.gz with a new version number) the new .c files would be commited
> to the repository.

I think the key idea is that bootstrap .c files must not be in
the same place as generated .c files otherwise If/when you
make local changes there will be conficts when you later do a
git pull. I'v seen a similar problem in OS projects (where you
need an initial set of binaries to get anything done but later
you want to install locally built binaries in the same place).

Separating them also helps when you don't catch your mistake
until after the buggy compiler generates a new set of .c file
(and you have already installed it)!

How about if `make bootstrap' fetches .c files from a
gambit-bootstrap repo strictly for bootstrapping?

"make commit-major" can then copy generated files to the
separate gambit-bootstrap repo and commit them there.  I like
a separate repo because you can then blow it away once
bootstrapped -- typical users won't want it beyond the initial
bootstrap. Also note that what you really want is an initial
gambit binary -- generated .c files is just one way to get it.
I'd be happy to just start with a signed binary for my
platform!



More information about the Gambit-list mailing list