fpc/rtl
2025-03-23 09:27:48 +01:00
..
aarch64 + Aarch64: UMul64x64_128 assembler implementation 2025-03-16 10:33:03 +01:00
aix * regen makefiles 2025-03-10 22:39:51 +02:00
amicommon rtl/amicommon: fix some comment typos in Sysutils unit. No functional change. 2024-10-31 22:28:17 +01:00
amiga * regen makefiles 2025-03-10 22:39:51 +02:00
android * regen makefiles 2025-03-10 22:39:51 +02:00
arm * apply patch by Michael Ring to fix compilation for ARM THUMB 2025-01-09 07:39:18 +01:00
aros * regen makefiles 2025-03-10 22:39:51 +02:00
atari * regen makefiles 2025-03-10 22:39:51 +02:00
avr * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
beos * regen makefiles 2025-03-10 22:39:51 +02:00
bsd + implement System.CPUCount on darwin, resolves #41187 2025-03-15 11:58:45 +01:00
charmaps * Dotted RTL compiles 2023-07-27 19:04:03 +02:00
darwin * regen makefiles 2025-03-10 22:39:51 +02:00
dragonfly * regen makefiles 2025-03-10 22:39:51 +02:00
embedded * regen makefiles 2025-03-10 22:39:51 +02:00
emx * regen makefiles 2025-03-10 22:39:51 +02:00
freebsd * regen makefiles 2025-03-10 22:39:51 +02:00
freertos * regen makefiles 2025-03-10 22:39:51 +02:00
gba * regen makefiles 2025-03-10 22:39:51 +02:00
go32v2 * regen makefiles 2025-03-10 22:39:51 +02:00
haiku * regen makefiles 2025-03-10 22:39:51 +02:00
human68k * regen makefiles 2025-03-10 22:39:51 +02:00
i386 Add System.UMul64x64_128. 2025-03-15 22:18:55 +01:00
i8086 * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
inc Inline polyevl&ldexp in sin&cos. 2025-03-23 09:27:48 +01:00
java * regen makefiles 2025-03-10 22:39:51 +02:00
jvm * Char -> AnsiChar 2023-07-14 17:26:10 +02:00
linux * regen makefiles 2025-03-10 22:39:51 +02:00
loongarch64 * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
m68k * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
macos * regen makefiles 2025-03-10 22:39:51 +02:00
mips Fix compilation of mips-linux rtl using 3.2.X compiler 2025-03-10 21:01:54 +00:00
mips64 + skeletons 2024-10-17 22:37:53 +02:00
mips64el + skeletons 2024-10-17 22:37:53 +02:00
mipsel * cpu specific header file for the system unit: cpuh.inc, moved several declarations into it 2017-11-01 16:33:30 +00:00
morphos * regen makefiles 2025-03-10 22:39:51 +02:00
msdos * regen makefiles 2025-03-10 22:39:51 +02:00
msxdos * regen makefiles 2025-03-10 22:39:51 +02:00
namespaced + added unit unix98pty. Only enabled for linux, for now, but can be enabled in the future on other unix-likes. 2024-10-19 16:11:25 +03:00
nativent * regen makefiles 2025-03-10 22:39:51 +02:00
nds * regen makefiles 2025-03-10 22:39:51 +02:00
netbsd * regen makefiles 2025-03-10 22:39:51 +02:00
netware * regen makefiles 2025-03-10 22:39:51 +02:00
netwlibc * regen makefiles 2025-03-10 22:39:51 +02:00
objpas const for TFormatSettings 2025-03-09 14:53:24 +00:00
openbsd * regen makefiles 2025-03-10 22:39:51 +02:00
os2 * regen makefiles 2025-03-10 22:39:51 +02:00
palmos * regen makefiles 2025-03-10 22:39:51 +02:00
powerpc * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
powerpc64 * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
ppcgen AIX: fix inverted fpu exception masking 2023-01-20 21:59:57 +01:00
ps1 * regen makefiles 2025-03-10 22:39:51 +02:00
qnx * regen makefiles 2025-03-10 22:39:51 +02:00
riscv * cleanup 2025-01-30 22:49:29 +01:00
riscv32 * cleanup 2025-01-30 22:49:29 +01:00
riscv64 + RiscV: UMul64x64_128 assembler implementation 2025-03-15 23:10:48 +01:00
sinclairql * regen makefiles 2025-03-10 22:39:51 +02:00
solaris * regen makefiles 2025-03-10 22:39:51 +02:00
sparc * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
sparc64 * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
symbian * regen makefiles 2025-03-10 22:39:51 +02:00
ucmaps + support the KOI8-R and KOI8-U Cyrillic encodings 2017-06-07 13:51:53 +00:00
unix * Extend GetLocalTimeOffset to return Dst or not 2025-02-19 17:31:01 +01:00
wasicommon * WASI system.pp: check that WebAssembly threads are always turned off for the wasip1 target, and always turned on for the wasip1threads target 2025-02-28 15:12:21 +02:00
wasip1 * regen makefiles 2025-03-10 22:39:51 +02:00
wasip1threads * regen makefiles 2025-03-10 22:39:51 +02:00
wasip2 + initial wasip2 rtl, most things are not implemented 2025-03-10 23:30:11 +02:00
wasm32 + added function fpc_wasm_invoke_helper to the WebAssembly RTL 2025-01-25 08:21:56 +02:00
watcom * regen makefiles 2025-03-10 22:39:51 +02:00
wii * regen makefiles 2025-03-10 22:39:51 +02:00
win * Extend GetLocalTimeOffset to return Dst or not 2025-02-19 17:31:01 +01:00
win16 * regen makefiles 2025-03-10 22:39:51 +02:00
win32 Move charset unit to implicit units list 2025-03-18 15:04:20 +01:00
win64 * regen makefiles 2025-03-10 22:39:51 +02:00
wince * regen makefiles 2025-03-10 22:39:51 +02:00
x86_64 Add System.UMul64x64_128. 2025-03-15 22:18:55 +01:00
xtensa * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
z80 * with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again 2024-12-12 22:05:20 +01:00
zxspectrum * regen makefiles 2025-03-10 22:39:51 +02:00
COPYING.FPC + Made license more clear, upgraded to LGPL 2.1 2004-11-29 19:17:26 +00:00
COPYING.txt * updated FSF address (mantis #30198, patch by Paul Gevers) 2016-10-02 12:56:59 +00:00
fpmake.inc * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
fpmake.pp - removed old float-to-string and string-to-float conversion code 2020-05-17 14:05:38 +00:00
Makefile + initial wasip2 rtl, most things are not implemented 2025-03-10 23:30:11 +02:00
Makefile.fpc + initial wasip2 rtl, most things are not implemented 2025-03-10 23:30:11 +02:00
README.txt rtl: removed the long obsolete README section mentioning FPC 1.0 2018-02-12 10:58:54 +00:00
regenmakefiles.bat + add a batch file to also regenerate the RTL makefiles on Windows 2024-04-19 16:45:59 +02:00
regenmakefiles.sh * Fix typo 2024-03-21 10:32:23 +01:00

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.