fpc/rtl
svenbarth 0491bca72a inc/system.inc:
+ add (uninitialized) global variable EntryInformation for systems that use indirect main information
win32/system.pp:
  - remove initialized EntryInformation and instead rely on the one passed by the sysinit* units

git-svn-id: trunk@33026 -
2016-01-29 16:24:53 +00:00
..
aarch64 * replaced AArch64 setjmp/longjmp code initially taken from NetBSD with 2015-02-25 19:34:42 +00:00
aix - get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) ) 2016-01-29 14:51:15 +00:00
amicommon * Type helpers, compatible to Delphi XE 8 2015-11-07 09:40:54 +00:00
amiga o basic extended pascal support: 2015-11-15 15:13:36 +00:00
android * fixed cpu unit dependencies for i386 after r32857 (part of mantis #29439) 2016-01-18 22:20:16 +00:00
arm * do not generate blx instructions, the generation of blx instead of bl was introduced some years ago but today it proves to be wrong: if necessary, the linker converts the bl into a blx, this is also how gcc and clang handle it 2015-12-29 13:32:21 +00:00
aros o basic extended pascal support: 2015-11-15 15:13:36 +00:00
atari o basic extended pascal support: 2015-11-15 15:13:36 +00:00
avr Add support for ram-less AVR chips and simultanously optimize flash/ram size the initfinal calling sequence. 2015-11-22 00:37:10 +00:00
beos o basic extended pascal support: 2015-11-15 15:13:36 +00:00
bsd - get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) ) 2016-01-29 14:51:15 +00:00
charmaps * moving 4 cp9* units. These are 16-bit and big. 2014-03-29 19:43:13 +00:00
darwin * fixed parallel building for i386 after r32857 2016-01-07 22:06:27 +00:00
dragonfly * fixed cpu unit dependencies for i386 after r32857 (part of mantis #29439) 2016-01-18 22:20:16 +00:00
embedded + use CPU_UNITS_DEFINED to track if a SUBARCH is passed, so with CPU_UNITS_DEFINED=1 it is easily possible to compile without any cpu units 2016-01-03 09:36:23 +00:00
emx o basic extended pascal support: 2015-11-15 15:13:36 +00:00
freebsd * fixed cpu unit dependencies for i386 after r32857 (part of mantis #29439) 2016-01-18 22:20:16 +00:00
gba o basic extended pascal support: 2015-11-15 15:13:36 +00:00
go32v2 o basic extended pascal support: 2015-11-15 15:13:36 +00:00
haiku o basic extended pascal support: 2015-11-15 15:13:36 +00:00
i386 o unified interface of i386 and x86-64 cpu unit: 2016-01-05 15:23:26 +00:00
i8086 Fix fpc_frac_real, fpc_trunk_real and fpc_int_real by removing the assumption that SP=BP at entry 2016-01-06 15:20:57 +00:00
inc inc/system.inc: 2016-01-29 16:24:53 +00:00
java asm_exit is only needed on Win32 (Note: the removal of asm_exit from TEntryInformation in the previous commit should have been in this one -.- ) 2016-01-29 15:36:58 +00:00
jvm Add dummy function result after HandleError call inside fpc_sqr_real and fpc_trunc_real compilerproc to suppress warning 2015-09-27 16:47:24 +00:00
linux * i386-linux: reworked and cleaned up libc-related startup code: 2016-01-22 17:11:08 +00:00
m68k m68k: use the Amiga-specific atomic ops on Amiga 2015-05-24 21:44:51 +00:00
macos o basic extended pascal support: 2015-11-15 15:13:36 +00:00
mips + MIPS: Assembler implementation of FillChar 2014-09-15 19:41:34 +00:00
mipsel - Removed mathuh.inc files which are identical for all targets (except m68k, see below), their contents moved into math.pp. 2014-03-18 20:01:15 +00:00
morphos o basic extended pascal support: 2015-11-15 15:13:36 +00:00
msdos Use Tiny getmem/freemem functions for systemdebug code, add more debug output 2016-01-16 00:50:30 +00:00
nativent - get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) ) 2016-01-29 14:51:15 +00:00
nds o basic extended pascal support: 2015-11-15 15:13:36 +00:00
netbsd * fixed cpu unit dependencies for i386 after r32857 (part of mantis #29439) 2016-01-18 22:20:16 +00:00
netware o basic extended pascal support: 2015-11-15 15:13:36 +00:00
netwlibc o basic extended pascal support: 2015-11-15 15:13:36 +00:00
objpas * Patch from Silvio Clecio implementing TFPGMapObject (Bug ID 29438) 2016-01-22 23:07:05 +00:00
openbsd * fixed cpu unit dependencies for i386 after r32857 (part of mantis #29439) 2016-01-18 22:20:16 +00:00
os2 o basic extended pascal support: 2015-11-15 15:13:36 +00:00
palmos o basic extended pascal support: 2015-11-15 15:13:36 +00:00
powerpc powerpc: MorphOS recently started supporting the G5s, and it runs the G5s in non-G4-compatible mode much like Linux, therefore the DCBZ code seems to fail on them. So disable DCBZ usage for MorphOS as well. 2015-06-20 22:51:53 +00:00
powerpc64 * disable out big endian-specific helpers for ppc64le 2015-03-14 18:36:23 +00:00
qnx * updated all the remaining makefiles that 'fpcmake -r' missed 2015-09-05 11:21:36 +00:00
solaris - get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) ) 2016-01-29 14:51:15 +00:00
sparc * Enabled internal handling of Abs(longint) for all targets. It has been implemented in cross-platform way ages ago (see tcginlinenode.second_abs_long), but not enabled on MIPS,SPARC and m68k. 2014-06-05 10:35:51 +00:00
symbian - get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) ) 2016-01-29 14:51:15 +00:00
ucmaps * added binary mappings for inofficial codepage 895 (Kamenicky brothers) - referenced e.g. in fcl-db/dbase 2015-02-07 11:30:39 +00:00
unix * deprecated dt routines in unixutils. Julian routines already were 2015-11-20 15:06:29 +00:00
watcom o basic extended pascal support: 2015-11-15 15:13:36 +00:00
wii o basic extended pascal support: 2015-11-15 15:13:36 +00:00
win asm_exit is only needed on Win32 (Note: the removal of asm_exit from TEntryInformation in the previous commit should have been in this one -.- ) 2016-01-29 15:36:58 +00:00
win16 o basic extended pascal support: 2015-11-15 15:13:36 +00:00
win32 inc/system.inc: 2016-01-29 16:24:53 +00:00
win64 - get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) ) 2016-01-29 14:51:15 +00:00
wince Fix for Mantis #29499. 2016-01-29 14:32:59 +00:00
x86_64 - removed "nostackframe" from floating point helpers for llvm, as FPC 2015-12-05 18:03:57 +00:00
COPYING.FPC
COPYING.txt
fpmake.inc * first dragonfly patch (existing most). Mantis #27091 2014-12-07 20:27:02 +00:00
fpmake.pp * version updated to 3.1.1 2015-01-04 21:09:04 +00:00
Makefile * regenerated makefiles after adding the win16 target 2015-09-05 11:02:54 +00:00
Makefile.fpc * regenerated makefiles after adding the win16 target 2015-09-05 11:02:54 +00:00
README.txt

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).

The following directories are not supported officially and may not work
correctly with FreePascal v1.0:

go32v1 - The DJGPP go32v1 DOS extender (no longer supported)
palmos - The PalmOS directory for the Dragonball (incomplete)


Enjoy.