[fpc-pascal]Build from CVS

pfv at cooldown.demon.nl pfv at cooldown.demon.nl
Fri Sep 15 08:48:01 CEST 2000

> > Did you check www.freepascal.org/makecyc.html ?
> >
> > IIRC that is updated for the 1.0 compiler
> >
> > Just try it, and if you have any questions, or find inconsistancies,
> please
> > report them here, and I'll update that file (and respond to questions)
> >
>           OK, I've tryed to compile FPC 1.1 (CVS) with the help of the
'M> ake
> cycle FAQ', and there are some points I want to clarify.
here are some quick answers

>    First of all, you can use OS_TARGET=TargetOS (win32 for example),
bu> t you
> MUST type the target name in lowercase. In the same way, DON'T add
> OPT="options" in your make cycle' command. Even with all that fixed, I
> couldn't compile the linux linux I got an assembler error in assembling
> rtl/linux/prt0.as.
make is case sensitive, you can't compile the .as files cross platform when you 
don't have a cross assembler.

>    Second, you must remove all the 'cvs' directories before compilation,
> if
> you got the sources from the CVS. I don't know if it's really necessary,
> but
> it's safer. Anyway you shouldn't directly compile from the original CVS
> sources, but work on a copy. You can copy it in $FPCDIR/source/.
>    Third, when compiling with '-OG2p2' I got the following error:
> 'og386elf.pas(287,9) Error: Asm: Short jump is out of range -231'.
> The problem doesn't occur with '-OG2p3' (I've got a Celeron 300A). But I
> think this parameter is redundant, because I think it's generated by the
> makefile. Am I right ?
if you add RELEASE=1 to the make command it'll set the optimizer switches 

>    Fourth, I got this error (see below):
> <<<
> E:\fpc\compiler>make cycle
> d:/pp/bin/go32v2/make.exe clean
> make.exe[1]: Entering directory `e:/fpc/compiler'
> rm -f ppc386.exe
> rm -f fpcmade.dos ppas.bat link.res  log
> rm -f *.o *.ppu *.rst *.s *.a *.so *.ppl
> rm -rf *.sl
> rm -f fpcmade.dos ppas.bat link.res  log
> make.exe[1]: Leaving directory `e:/fpc/compiler'
> d:/pp/bin/go32v2/make.exe -C  clean
> make.exe: *** clean: No such file or directory (ENOENT).  Stop.
> make.exe: *** [cycle] Error 2
> >>>
> This error can be removed by unsetting the FPCDIR envvar.
That's correct you can't use FPCDIR if you've installed multiple FPC copies 
(i.e. stable 1.0 and unstable 1.1).

>    Fifth, doing a make cycle, there is a strange line (see below)
> <<<....
> D:/PP/BIN/GO32V2//diff.exe ppc3.exe ppc386.exe
> make.exe[1]: Leaving directory `e:/fpc/compiler'
> d:/pp/bin/go32v2/make.exe echotime
> make.exe[1]: Entering directory `e:/fpc/compiler'
> Start unknown now unknown                  <<  This line ??
> make.exe[1]: Leaving directory `e:/fpc/compiler'
> >>>
> But it seems that I get a new working PPC386.EXE with all the new RTL
> anyway. It is the goal, isn't it ?
It misses gdate.exe or date.exe, it's only used for calculating the time needed 
to do the make cycle and doesn't hurt the compilitation itself.

>    Sixth, you say that all makefiles are valid, ans I trust you, but
can'> t
> you explain more how to do a snapshot or a release zip with it. For
examp> le,
> doing an 'make go32v2zip' in the root directory of the sources, I got
thi> s:
> <<<....
> rm -f e:/fpc/upackagesexm.zip
> cd e:/fpc/packages/pack_tmp ;  -Dr -9 e:/fpc/upackagesexm.zip * ; cd
> e:/fpc/pack
> ages
> Commande ou nom de fichier incorrect
> rm -rf e:/fpc/packages/pack_tmp
> make.exe[4]: Leaving directory `e:/fpc/packages'
> make.exe[3]: Leaving directory `e:/fpc/packages'
> make.exe[2]: Leaving directory `e:/fpc'
> make.exe[1]: Leaving directory `e:/fpc'
> >>>
You'll need zip.exe (from info-zip) for it

More information about the fpc-pascal mailing list