Show quoted text 10 lines
> 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.
Show quoted text 12 lines
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 itself.
Show quoted text 16 lines
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).
Show quoted text 11 lines
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:
Show quoted text 12 lines
<<<....
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