This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: egcs 1.03 on SGI IRIX 6.4
- To: N8TM at aol dot com
- Subject: Re: egcs 1.03 on SGI IRIX 6.4
- From: Craig Burley <burley at gnu dot org>
- Date: Wed, 3 Jun 1998 12:58:28 -0400 (EDT)
- CC: jer at research dot att dot com, egcs-bugs at cygnus dot com
>I've assumed that 'make bootstrap' knows what it's doing and when to switch
>compilers. It builds everything except libf2c, which seems to depend on gcc
>being installed.
`make bootstrap' should "always" work, and does know when to switch
compilers, plus it should build libf2c, which does *not* depend on
gcc being *installed*, rather just available for the build via
`make bootstrap'.
What `make bootstrap' does is not particularly mysterious, compared
to most of the rest of gcc's (egcs's) build procedures. Look at
the egcs/Makefile.in and egcs/gcc/Makefile.in files -- they show
how bootstrap building is done.
In short: build gcc (LANGUAGES=c only) using native cc (by default),
with no optimization.
Then `make stage1', which moves all the resulting stuff (objects,
executables, drivers, etc.) into a directory named `stage1'.
Then build gcc (all languages by default) using gcc, with optimization,
in `stage1'. Then `make stage2', which moves stuff into `stage2'.
Then build gcc again using gcc in `stage2'.
Then make sure the object files in `stage2' are the same as their
kin at the top level of the build directory. If not, that could
indicate a bug in gcc's code generation.
In egcs-1.0 and official (gcc-based) g77 releases, each build
involving language f77 (meaning the second and third builds) should
also build the libf2c library. But that's only because that's
how it's set up; libf2c is not needed to build any part of g77
itself, so it needn't be part of the compiler.
As of egcs-1.1, the libf2c library is built only after the gcc (bootstrap)
build is completed, as it's in a separate directory (egcs/libf2c
instead of egcs/gcc/f/runtime).
tq vm, (burley)