peter 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
..
alpha 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
arm 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
html 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
i386 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ia64 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
m68k 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
mips 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
msg 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
powerpc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
powerpc64 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
sparc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
systems 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
utils 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
vis 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
x86 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
x86_64 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
COPYING 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
MPWMake 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
Makefile 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
Makefile.fpc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
README 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aasmbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aasmtai.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aggas.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aopt.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aoptbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aoptcs.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aoptda.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
aoptobj.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
assemble.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
browcol.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
browlog.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
bsdcompile 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
catch.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cclasses.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cg64f32.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cgbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cgobj.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cgutils.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
charset.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cmsgs.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
comphook.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
compiler.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
compinnr.inc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
comprsrc.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cp437.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cp850.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cp8859_1.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
crc.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cresstr.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cstreams.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
cutils.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
dbgbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
dbgdwarf.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
dbgstabs.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
defcmp.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
defutil.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
dwarf.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
export.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
finput.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
fmodule.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
fpcdefs.inc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
fppu.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
gendef.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
globals.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
globtype.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
htypechk.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
impdef.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
import.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
link.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
make_old.cmd 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
mdppc386.bat 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
mppc386.bat 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
mppc68k.bat 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
mppcsparc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
msgidx.inc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
msgtxt.inc 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nadd.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nbas.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncal.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgadd.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgbas.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgcal.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgcnv.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgcon.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgflw.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncginl.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgld.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgmat.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgmem.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgopt.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgset.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncgutil.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncnv.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ncon.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nflw.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ninl.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nld.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nmat.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nmem.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nobj.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
node.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nopt.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nset.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nstate.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
nutils.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ogbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ogcoff.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ogelf.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
oglx.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ogmap.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
optcse.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
options.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
optunrol.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
owar.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
owbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
parabase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
paramgr.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
parser.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pass_1.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pass_2.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pdecl.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pdecobj.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pdecsub.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pdecvar.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pexports.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pexpr.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pinline.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pmodules.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pp.lpi 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pp.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ppc.cfg 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ppc.conf 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ppc.dof 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ppc.dpr 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ppheap.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ppu.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
procinfo.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
pstatmnt.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
psub.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
psystem.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ptconst.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
ptype.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
raatt.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
rabase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
rasm.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
rautils.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
regvars.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
rgbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
rgobj.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
scandir.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
scanner.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
script.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
switches.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symbase.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symconst.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symdef.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symnot.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symsym.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symtable.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symtype.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
symutil.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
systems.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
tgobj.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
tokens.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
verbose.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
version.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos
widestr.pas 61745c2e37 * retag for unitrw %!s(int64=20) %!d(string=hai) anos

README

This directory contains the sources of the Free Pascal Compiler

If you want to compile/modify the compiler, please read first the
programmers manual.

To recompile the compiler, you can use the batch files :
+ mppc386.bat if you want to build a cross compiler from i386 to m68k
+ mppcsparc if you want to build a cross compiler from i386 to SPARC

or
Use the make utility as following

make OS_TARGET="compiler OS target" \
CPU_TARGET="compiler CPU target" \
FPCCPUOPT="Optimization level" \
PP="compiler used to compile FPC" \
COMPILER_OPTIONS="Options passed to compiler" \


If an option is omitted, then target CPU/OS will be same as current CPU/OS

Possibles targets are : linux go32v2 win32 os2 freebsd beos netbsd amiga
atari sunos qnx netware openbsd wdosx palmos macos macosx emx

Possible compiler switches (* marks a currently required switch):
-----------------------------------------------------------------
GDB* support of the GNU Debugger
I386 generate a compiler for the Intel i386+
x86_64 generate a compiler for the AMD x86-64 architecture
M68K generate a compiler for the M68000
SPARC generate a compiler for SPARC
POWERPC generate a compiler for the PowerPC
VIS generate a compile for the VIS
DEBUG version with debug code is generated
EXTDEBUG some extra debug code is executed
SUPPORT_MMX only i386: releases the compiler switch
MMX which allows the compiler to generate
MMX instructions
EXTERN_MSG Don't compile the msgfiles in the compiler, always
use external messagefiles, default for TP
NOAG386INT no Intel Assembler output
NOAG386NSM no NASM output
NOAG386BIN leaves out the binary writer, default for TP
NORA386DIR No direct i386 assembler reader
TEST_GENERIC Test Generic version of code generator
(uses generic RTL calls)
-----------------------------------------------------------------
cpuflags The target processor has status flags (on by default)
cpufpemu The target compiler will also support emitting software
floating point operations
cpu64bit The target is a 64-bit processor
-----------------------------------------------------------------

Required switches for a i386 compiler be compiled by Free Pascal Compiler:
GDB;I386

to build a compiler to SPARC target using a Win32/i386 you just use :
make CPU_TARGET=SPARC