[fpc-pascal] Compiling the compiler
Tomas Hajny
XHajT03 at mbox.vol.cz
Thu Jul 27 23:28:56 CEST 2006
On 25 Jul 06, at 16:45, Andreas Berger wrote:
> Vincent Snijders wrote:
> > Andreas Berger schreef:
> >> Andreas Berger wrote:
> >>> I have a problem compiling the compiler. After a lot of compilation
> >>> it attempts to compile pp.pas and I get the following error:
> >>> pp.pas(213,1) Error: Entrypoint start not defined.
> >> I downloaded todays snapshot and had the same problem. Then I
> >> compiled using "make all" + "make install" instead of "make cycle"
> >> and it worked. Is this correct? What does "make cycle" do exactly?
> >
> > There is at least one difference.
> > If you do make cycle in the compiler directory, the fpc.cfg file is used.
> > If you do make all or make compiler_cycle in the fpc source directory
> > (that contains a compiler subdirectory), then no fpc.cfg file is used.
> >
> > So maybe you should try make cycle OPT="-n"
> >
> Sorry, it gave the same error.
No wonder. ;-) When using "make all", the new
(2.1.1) compiler is compiled using the starting
compiler (2.0.x). "Make cycle" tries to make sure
that the created compiler is still useable, at
least that useable that it can still build
itself. It does so by doing the same thing in a
cycle:
1) RTL and compiler (ppc1.exe) are compiled using
the starting compiler.
2) Everything except ppc1.exe is cleaned, RTL and
compiler (ppc2.exe) are compiled using ppc1.exe.
3) Everything except ppc2.exe is cleaned, RTL and
compiler (ppc3.exe) are compiled using ppc2.exe.
4) ppc2.exe and ppc3.exe are compared - they
should be equal. If they are the same, ppc3.exe
is renamed to ppc386.exe.
5) If you build more than just the compiler (e.g.
snapshot or release - i.e. this last step isn't
part of "make cycle" any more), the newly created
ppc386.exe is used for compilation of RTL, FCL,
FV, packages and IDE.
Tomas
More information about the fpc-pascal
mailing list