fpc/compiler
2026-02-18 12:01:22 +02:00
..
aarch64 * align exception handling on aarch64-win64 more with the one on x86_64-win64 by not creating a *copy* of the finalization code, but by *extracting* it 2026-02-07 22:52:43 +01:00
arm Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
armgen Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
avr Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
generic
html
i386 Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
i8086 Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
jvm * fixed compilation of the JVM compiler after the previous commit 2026-02-17 18:37:57 +02:00
llvm Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
loongarch64 Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
m68k * the global variable 'c' moved inside tscannerfile 2026-02-16 22:50:35 +02:00
mips Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
msg Add -Tfreebsd to help for powerpc64 compiler after MR 1211 2026-01-21 11:26:00 +01:00
powerpc Fix compiltion of powerpc compiler 2026-01-21 17:46:54 +01:00
powerpc64 Merge branch source:main into main 2026-01-09 12:57:13 +00:00
ppcgen Remove use of _CALL_ELF which is not correct inside compiler 2026-01-22 10:45:06 +01:00
riscv Check all existing riscv ABI 2026-01-21 11:40:24 +01:00
riscv32 Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
riscv64 Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
sparc Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
sparc64 Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
sparcgen Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
systems Set StackSize to 8Mb for all x86_64 BSD variants 2026-02-08 16:58:51 +01:00
utils Avoid range check error inside ppudump. 2026-01-23 10:54:44 +01:00
wasm32 * the global variable 'c' moved inside tscannerfile 2026-02-16 22:50:35 +02:00
x86 * the global variable 'c' moved inside tscannerfile 2026-02-16 22:50:35 +02:00
x86_64 Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
xtensa Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
z80 * the global variable 'c' moved inside tscannerfile 2026-02-16 22:50:35 +02:00
.gitignore
aasmbase.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aasmcfi.pas
aasmcnst.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aasmdata.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aasmdef.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
aasmsym.pas
aasmtai.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aggas.pas * introduce and use support_rodata define in the compiler 2026-02-08 10:49:50 +01:00
aopt.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aoptbase.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aoptda.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aoptobj.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
aoptutils.pas Update repository 2025-12-27 12:12:11 -05:00
assemble.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
blockutl.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
browcol.pas Symbol browser information collection improvements part 3. + Show type and variable for absolute variables. + Properties show read and write function (or field). + Self referencing symbol detection. Avoid infinite loops. 2026-02-01 08:48:30 +00:00
catch.pas
ccharset.pas * Use dynamic array instead of pointer for character map 2025-03-20 17:01:31 +01:00
cclasses.pas Use bitpacked indices in TViHashList. 2026-01-02 16:39:35 +01:00
cdynset.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
cepiktimer.pas
cfidwarf.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
cfileutl.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
cg64f32.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
cgbase.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
cgexcept.pas
cghlcpu.pas + a_bit_scan_reg_reg gets a flag if src cannot be zero: this simplifies the generated code 2025-02-08 14:27:48 +01:00
cgobj.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
cgutils.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
cmsgs.pas * Use dynamic arrays for compiler messages 2025-03-20 17:01:31 +01:00
comphook.pas * currentmodulestate needs same size as ModuleStateStr. Fixes issue #41618 2026-02-15 11:26:34 +01:00
compiler.pas compiler: consistent indent, missing semicolon 2026-01-16 10:51:25 +01:00
compinnr.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
comprsrc.pas Update compiler files 2026-01-02 17:50:34 -05:00
comptty.pas * patch by Anton Kavalenka: Use colored compiler messages on FreeBSD ansi-capable terminals, resolves #41582 2026-01-19 22:55:24 +01:00
constexp.pas Simplify constexp.pas and fix certain edge cases. 2024-11-17 12:39:18 +00:00
COPYING.txt
cprofile.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
crefs.pas
cresstr.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
cscript.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
cstreams.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ctask.pas compiler: fixed ctask reload result 2026-02-17 18:32:17 +01:00
cutils.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
dbgbase.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
dbgcodeview.pas
dbgdwarf.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
dbgdwarfconst.pas
dbgstabs.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
dbgstabx.pas
defcmp.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
defutil.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
dirparse.pas
dwarfbase.pas
elfbase.pas
entfile.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
export.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
expunix.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
finput.pas compiler: started alternative scheduler, also scheduling ppu files 2026-02-15 12:38:57 +01:00
fmodule.pas compiler: ctask scheduler loads ppu files, fixed cycle check, fixed -Ur 2026-02-17 18:06:01 +01:00
fpcdefs.inc * introduce and use support_rodata define in the compiler 2026-02-08 10:49:50 +01:00
fpchash.pas * make UpdateFnv64 closer to the original algorithm as proposed by Gareth 2024-09-15 21:49:02 +02:00
fpcp.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
fpkg.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
fppu.pas compiler: fixed fppu result 2026-02-17 18:40:42 +01:00
gendef.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
globals.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
globstat.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
globtype.pas * make SYSTEM_HAS_FEATURE_MONITOR a compiler based feature so programs can depend on it 2026-01-04 15:09:56 +01:00
hlcg2ll.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
hlcgobj.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
htypechk.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
impdef.pas
import.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
ldscript.pas
link.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
macho.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
machoutils.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
Makefile Regenerate compiler and compiler/utils Makefile's after merge of MR1211 2026-01-21 11:03:21 +01:00
Makefile.fpc morphos: convert the Un*x path used by the Makefile to an Amiga path before feeding it into the compiler. this fixes cycle on MorphOS again 2025-10-26 00:26:52 +02:00
MPWMake
nadd.pas * remove unclear test (ni regression in any test) in taddnode.pass_typecheck_internal to resolve #41595 2026-01-28 22:56:14 +01:00
nbas.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncal.pas * get rid of aktcallnode 2026-02-15 22:34:50 +01:00
ncgadd.pas * real fix for #41576 based on a patch by rasberryrabbit 2026-01-21 22:31:41 +01:00
ncgbas.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
ncgcal.pas * get rid of aktcallnode 2026-02-15 22:34:50 +01:00
ncgcnv.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncgcon.pas compiler: set to nil after free 2025-12-10 23:52:29 +01:00
ncgflw.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncghlmat.pas
ncginl.pas * simplified code 2025-02-10 22:29:18 +01:00
ncgld.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncgmat.pas ncgmat: fix location for constant divisions-by-power-of-two after a291347d 2025-09-19 01:50:17 +02:00
ncgmem.pas * another 64-bit ALU, 32-bit address fix in tcgvecnode.update_reference_reg_packed 2025-10-11 19:31:39 +03:00
ncgnstfl.pas
ncgnstld.pas
ncgnstmm.pas
ncgobjc.pas * Make compilerwidestring a class using dyn array, rework tstringconstnode: value_str -> valueas, valuews 2025-03-20 17:01:31 +01:00
ncgopt.pas
ncgrtti.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
ncgset.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncgutil.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncgvmt.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncnv.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ncon.pas * convert pointer(0) into a niln 2026-01-24 22:51:30 +01:00
nflw.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ngenutil.pas Skip note "variable has align directive larger than system maximum alignment" for systems with maxalignvar=1 2026-01-08 10:35:25 +02:00
ngtcon.pas * the global variable 'token' moved inside tscannerfile 2026-02-17 18:24:24 +02:00
ninl.pas * better fix and test for #41488 2026-02-08 21:47:10 +01:00
nld.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
nmat.pas + optimize nil - val into - val 2026-01-20 23:13:04 +01:00
nmem.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
nobj.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
nobjc.pas * Make compilerwidestring a class using dyn array, rework tstringconstnode: value_str -> valueas, valuews 2025-03-20 17:01:31 +01:00
node.pas * write flags properly 2026-01-07 22:21:34 +01:00
nopt.pas
nset.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
nutils.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
objcasm.pas
objcdef.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
objcgutl.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
objcutil.pas
ogbase.pas * handle rodata correctly in the binary elf writer 2026-02-08 13:43:25 +01:00
ogcoff.pas Declare MaybeSwap in ogcoff interface part to allow use in t_win unit in PostProcessExecutable 2026-01-21 11:37:07 +01:00
ogelf.pas * handle rodata correctly in the binary elf writer 2026-02-08 13:43:25 +01:00
oglx.pas
ogmacho.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ogmap.pas
ognlm.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
ogomf.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
ogrel.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
ogwasm.pas * introduce and use support_rodata define in the compiler 2026-02-08 10:49:50 +01:00
omfbase.pas compiler: fixed compile on linux 2025-12-10 23:52:29 +01:00
optbase.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
optconstprop.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
optcse.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
optdead.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
optdeadstore.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
optdfa.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
options.pas Merge branch source:main into main 2026-01-07 22:34:24 +00:00
optloadmodifystore.pas Fix cycle for non-LLVM 2025-06-15 23:06:49 +02:00
optloop.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
opttail.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
opttree.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
optutils.pas + factor out a cdynset unit 2026-02-12 22:37:10 +01:00
optvirt.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
owar.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
owbase.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
owomflib.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
parabase.pas
paramgr.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
parser.pas * fixed compilation with -dPREPROCWRITE 2026-02-18 12:01:22 +02:00
pass_1.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
pass_2.pas
pbase.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
pcp.pas
pdecl.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
pdecobj.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
pdecsub.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
pdecvar.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
pexports.pas * the global variable 'token' moved inside tscannerfile 2026-02-17 18:24:24 +02:00
pexpr.pas * fixed i8086 compilation 2026-02-17 20:34:10 +02:00
pgentype.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
pgenutil.pas * the global variable 'token' moved inside tscannerfile 2026-02-17 18:24:24 +02:00
pinline.pas * the global variable 'token' moved inside tscannerfile 2026-02-17 18:24:24 +02:00
pkgutil.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
pmodules.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
pp.lpi
pp.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
pparautl.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
ppc68k.lpi
ppc8086.lpi
ppcaarch64.lpi
ppcarm.lpi
ppcavr.lpi
ppcjvm.lpi * Undo changes to lpi files, committed by accident 2025-03-20 17:41:14 +01:00
ppcloongarch64.lpi
ppcmips64el.lpi
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc64le.lpi
ppcppc.lpi
ppcriscv32.lpi
ppcriscv64.lpi
ppcsparc64.lpi
ppcsparc.lpi
ppcwasm32.lpi * Undo changes to lpi files, committed by accident 2025-03-20 17:41:14 +01:00
ppcx64.lpi compiler: unified variable names, debug indirect_crc 2026-02-16 19:03:40 +01:00
ppcx64llvm.lpi
ppcxtensa.lpi
ppcz80.lpi
ppheap.pas
ppu.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
procdefutil.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
procinfo.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
psabiehpi.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
pstatmnt.pas * fixed RISCV compilation 2026-02-17 20:40:50 +02:00
psub.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
psystem.pas Switch from functions for the Atomic*-family to intrinsics 2024-12-12 22:05:15 +01:00
ptconst.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
ptype.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
raatt.pas * the global variable 'c' moved inside tscannerfile 2026-02-16 22:50:35 +02:00
rabase.pas * Use new and dispose for asmmodeinfos 2025-03-20 17:01:31 +01:00
rasm.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
rautils.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
README.txt Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00
rescmn.pas
rgbase.pas
rgobj.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
scandir.pas * the global variable 'c' moved inside tscannerfile 2026-02-16 22:50:35 +02:00
scanner.pas * the global variable 'idtoken' moved inside tscannerfile 2026-02-17 20:30:25 +02:00
switches.pas + handle also optimizer switches by $push/$pop 2025-12-12 23:22:41 +01:00
symbase.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
symconst.pas Typo fix in compiler. 2026-01-01 15:11:26 +00:00
symcreat.pas - removed old_idtoken from tscannerstate, because that is now part of tscannerfile 2026-02-17 21:05:21 +02:00
symdef.pas compiler: unified variable names, debug indirect_crc 2026-02-16 19:03:40 +01:00
symsym.pas compiler: unified variable names, debug indirect_crc 2026-02-16 19:03:40 +01:00
symtable.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
symtype.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
symutil.pas * Make compilerwidestring a class using dyn array, rework tstringconstnode: value_str -> valueas, valuews 2025-03-20 17:01:31 +01:00
syscinfo.pas
systems.inc Merge branch source:main into main 2026-01-01 11:41:27 +00:00
systems.pas Merge branch source:main into main 2026-01-01 11:41:27 +00:00
tgobj.pas Skip note "variable has align directive larger than system maximum alignment" for systems with maxalignvar=1 2026-01-08 10:35:25 +02:00
tokens.pas
triplet.pas
verbose.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
version.pas
versioncmp.pas
wasmbase.pas + added extra values to TWasmNameSubsectionType from the extended name section 2024-09-19 06:35:49 +03:00
widestr.pas Fix previous commit 105382b8 by setting Temp to zero if maxi is zero 2025-05-05 15:00:04 +00:00
wpo.pas Mass typo fixes in comments for compiler. 2026-01-01 10:57:57 +00:00
wpobase.pas compiler: set nil after free 2025-12-10 23:52:29 +01:00
wpoinfo.pas Mass trailing space removal for compiler. 2025-12-22 17:42:28 +01:00

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 haiku
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
  cpu64bitaddr        The targets use a 64-bit address space (pointers and
                       the default integer type are 64 bit)
  cpu64bitalu         The target cpu has 64-bit registers available (unless
                       cpu64bitaddr is also defined, pointers and default
                       integer type remain 32 bit, but the cpu can perform
                       64 bit calculations directly without needing helpers)
  -----------------------------------------------------------------

  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