[Mono-list] Re: Bootstrapping

Brandon Knitter knitterb@blandsite.org
Wed, 7 Jul 2004 22:03:41 -0700


In regards to:
> > > How did you compile GCC?  You need to have a pre-compiled or
> > > cross-compiled version of the compiler to build it the first time.  It's
> > > the same story here.
> >
> > GCC has a valid 3 phased bootstraping which builds the compiler in stages.
> > 
> > GCC doesn't require a C compiler to be compiled, although it does speed up
> > the process.
>
> I have to quote from the page http://gcc.gnu.org/install/prerequisites.html:
> 
> ``Tools/packages necessary for building GCC
>  
> ``ISO C90 compiler
> Necessary to bootstrap the GCC package, although versions of GCC prior to 3.4
> also allow bootstrapping with a traditional (K&R) C compiler. 
> 
> ``To make all languages in a cross-compiler or other configuration where 
> 3-stage bootstrap is not performed, you need to start with an existing GCC 
> binary (version 2.95 or later) because source code for language frontends 
> other than C might use GCC extensions.''

I stand corrected.  I guess in these cases the OS provider will distribute some
rudementary compiler, although it's not designed to provide much more
functionality than bootstrapping.  I was under the impression that a simple
yacc, or other compiler compiler script, was used to form some sort of base
product.  I stand here admintting my wrongness. :-O

The initial question still stands though.  How was the bootstrap compiler built.
 I'll dig through the HISTORY and find it, its notes, and perhaps its source.

Sorry to push this so far, but I really wanted to know why/how the bootstrapping
required a download.  Why not just bootstrap from a K&R C-based program? ;-)

Thanks for the education.
URL: http://en.wikipedia.org/wiki/C_programming_language#K.26R_C

--
-bk