fpc/rtl
2023-11-18 22:47:47 +01:00
..
aarch64 * fix #40421: implement assembly variants of the SwapEndian functions for Aarch64 2023-09-08 15:03:51 +02:00
aix * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
amicommon * Add delphi-compatible observers to classes 2023-11-08 00:04:18 +01:00
amiga * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
android * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
arm
aros * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
atari * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
avr
beos * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
bsd
charmaps
darwin * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
dragonfly * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
embedded RP2040 support based on modification by Michael Ring (https://github.com/michael-ring/freepascal). 2023-11-11 17:45:23 +00:00
emx * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
freebsd * Add pthread_mutex_timedlock, sem_timedwait may be needed in future 2023-11-10 14:13:23 +01:00
freertos * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
gba * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
go32v2 * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
haiku * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
i386 * detect avx support also in the i386 system unit 2023-11-18 22:47:47 +01:00
i8086
inc * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
java * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
jvm
linux * Add pthread_mutex_timedlock, sem_timedwait may be needed in future 2023-11-10 14:13:23 +01:00
loongarch64 Applied fix for binutils 2.41 for loongarch64 suggested by Jinyang He 2023-08-11 08:58:40 +00:00
m68k
macos * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
mips
mips64
mips64el
mipsel
morphos * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
msdos * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
msxdos * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
namespaced Remove unwanted space in EmbeddedApi.sc32442b.pp name 2023-08-09 00:33:15 +02:00
nativent * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
nds * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
netbsd * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
netware * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
netwlibc * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
objpas * Add unicode AnsiLastChar overload 2023-11-14 10:26:49 +01:00
openbsd * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
os2 * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
palmos * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
powerpc
powerpc64
ppcgen
qnx Remove OS specific SYSTEMUNIT variable setting 2023-10-09 01:02:28 +02:00
riscv
riscv32 Added changes that didn't commit in merge 427 2023-08-28 22:14:46 +02:00
riscv64
sinclairql * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
solaris * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
sparc
sparc64
symbian * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
ucmaps
unix * Add delphi-compatible observers to classes 2023-11-08 00:04:18 +01:00
wasi * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
wasm32
watcom * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
wii * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
win * add pointer variant fo createconsolescreenbuffer, move old VAR definition to redef for compat. 2023-11-09 14:17:14 +01:00
win16 * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
win32 * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
win64 * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
wince * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
x86_64 + centralized cpu capability detection 2023-11-18 22:28:50 +01:00
xtensa
z80
zxspectrum * Regen Makefiles with correct defines for some lineinfo units 2023-11-08 18:15:52 +01:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp
Makefile
Makefile.fpc
README.txt
regenmakefiles.sh

This is the Run-Time Library (RTL) tree for Free Pascal.

To recompile the RTL, edit the main makefile. The makefiles NEED a GNU make
compatible make, they need unix-like 'rm' and 'mv' commands, as well as some
others. You can find these in the gnuutils package on the ftp site.

The main makefile is located ABOVE the RTL tree. It uses the FPC
makefile.fpc to guess reasonable defaults for everything it needs.
(these files can be found in base.zip on the FTP site)

The only variable that you may want to set are
FPC             - What compiler to use. Use an absolute path. 
                  (default is ppc386)
INSTALL_UNITDIR - Where to install the RTL units 
OPT             - any special options you want to set for the compiler.

In principle, you can also descend into the subdirectory of your OS, and
type 'make' there, that should also compile everything.

The tree contains subdirectories for all the supported operating systems,
as well as all processor architectures. The processor directories contain
low-level routines which are required for the system unit (if they are not 
available in high-level language form), as well as optimized versions of
the pascal generic routines (the generic routine source code is localed in
the inc subdirectory).

Enjoy.