On Mon, 25 Jan 1999 kevin.broadey@ats.uk.eds.com wrote:
I thought `make bootstrap' did `make LANGUAGES=c' to build the stage 1 compiler, and then `make LANGUAGES="c c++ fortran pascal ..."' for stage 2. Or isn't this what you mean? Is there some unfortunate dependency between the C and Pascal compilers at each particular stage?
`make bootstrap' will `make LANGUAGES=c' for the first stage because it makes no sense to build the rest at this point. The stage2 and stage3 compilers are complete, or a `make compare' wouldn't work.
I did most of the Makefile for the gcc/p directory, quite some time ago. A make LANGUAGES=pascal should work (I do it all the time). First, it builds gpc1. When it goes on to libgcc.a and libgpc.a, it requires GCC_FOR_TARGET and GPC_FOR_TARGET. GCC_FOR_TARGET means LANGUAGES=c gets built. The circular dependancy is not nice, but not fatal too. I only saw it fail in a cross config, where I failed to specify a good RANLIB, resulting in a bad libgcc, resulting in a "gcc cannot create executables" when entering the RTS ...
The stage 1 compiler built correctly, but when the 'final' compiler was compiling I got this... [...] configure: error: installation or configuration problem: C
compiler cannot create executables.
[...]
... which someone else also got ? BTW: requiring GCC to be able to build exe's is not needed here. compilation is enough. But, autoconf did not permit this.
Yes: Do `make LANGUAGES=c' first, and then `make LANGUAGES=pascal'.
Hmmm.
If someone out there is a Makefile wizart, he/she is invited to help us to resolve a circular dependency and some other drawbacks in GPC's Makefiles.
I can take a look at it. The circular dependancy is somewhere in C++ rules, something about GCC_PARTS used instead of GCC_PASSES for libgcc2 somewhere, can't quite remember. G77 suffered from it too, and they fixed it.
Greetings, JanJaap --- GNU mingw32: http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32