This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: egcs 1.03 on SGI IRIX 6.4


>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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]