fpc/rtl
Jonas Maebe f6d452c2c0 * remove the RTL's installed signal handlers at the end of the system
unit's initialization code in case we're in a library
  + implemented InquireSignal(), AbandonSignalHandler(), HookSignal() and
    UnhookSignal() in the sysutils unit
  * for Kylix compatibility, these routines support operating on
    SIGINT and SIGQUIT as well, although they are not hooked by default
    by FPC. The run time errors/exception codes for these signals are
    resp. 217 and 233 (same as in Kylix; I changed ENoWideStringSupport
    to 234).
  * changed the BSD syscall version of fpsigaction to use pointer
    rather than "var" arguments (compatible with other targets, and
    required to be able to pass nil arguments inside the system unit)
  -> together fixes mantis #12704

git-svn-id: trunk@13077 -
2009-05-02 09:40:44 +00:00
..
amiga - removed all "islibrary:=false;" assignments from system unit 2008-12-17 17:48:04 +00:00
arm * return 0 for length(pchar(0)), like Kylix does (using corrected and 2009-01-01 22:02:17 +00:00
atari * unicodestringmanager patch from r11743 extended to OS/2 and other platforms using system.pas instead of system.pp 2008-12-19 12:47:17 +00:00
avr * some avr fixes 2008-07-13 18:16:24 +00:00
beos * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
bsd * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
darwin * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
embedded + list of possible feature switches 2009-02-07 21:48:43 +00:00
emx * unicodestringmanager patch from r11743 extended to OS/2 and other platforms using system.pas instead of system.pp 2008-12-19 12:46:58 +00:00
freebsd * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
gba * regened makefiles to propagate makefile versions 2008-10-22 17:32:15 +00:00
go32v2 * regened makefiles to propagate makefile versions 2008-10-22 17:32:15 +00:00
haiku * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
i386 * return 0 for length(pchar(0)), like Kylix does (using corrected and 2009-01-01 22:02:17 +00:00
inc * moved core logic from fpc_shortstr_enum into a separate function, so 2009-05-02 08:48:48 +00:00
linux * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
m68k
macos * added .txt extensions to all README, TODO and COPYING files 2009-02-28 17:34:08 +00:00
morphos * fixed typo 2009-02-28 12:14:59 +00:00
nds * Changes to compiler and rtl to make it compatible with devkitARM r24 2009-01-18 16:05:44 +00:00
netbsd * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
netware * added .txt extensions to all README, TODO and COPYING files 2009-02-28 17:34:08 +00:00
netwlibc * regened makefiles to propagate makefile versions 2008-10-22 17:32:15 +00:00
objpas * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
openbsd * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
os2 * unicodestringmanager patch from r11743 extended to OS/2 and other platforms using system.pas instead of system.pp 2008-12-19 12:46:58 +00:00
palmos * regened makefiles to propagate makefile versions 2008-10-22 17:32:15 +00:00
powerpc + support for the different rounding modes in the generic rounding 2008-06-27 17:20:56 +00:00
powerpc64 + support for the different rounding modes in the generic rounding 2008-06-27 17:20:56 +00:00
qnx * regened makefiles to propagate makefile versions 2008-10-22 17:32:15 +00:00
solaris * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
sparc + support for the different rounding modes in the generic rounding 2008-06-27 17:20:56 +00:00
symbian - removed all "islibrary:=false;" assignments from system unit 2008-12-17 17:48:04 +00:00
ucmaps
unix * remove the RTL's installed signal handlers at the end of the system 2009-05-02 09:40:44 +00:00
watcom * regened makefiles to propagate makefile versions 2008-10-22 17:32:15 +00:00
win * fixed 64-bit size of findmatch. (mantis 13504) Tested with $12000001 bytes large file, matched to the byte. 2009-04-16 05:38:00 +00:00
win32 * also compile lnfodwrf on win32 by default 2009-03-17 19:17:22 +00:00
win64 * regened makefiles to propagate makefile versions 2008-10-22 17:32:15 +00:00
wince + Added extapi and imm wince api units by Vasil Maximov. 2009-03-01 11:10:10 +00:00
x86_64 + applied a fix similar to 11820 to x86-64 2008-09-25 19:31:16 +00:00
COPYING.FPC
COPYING.txt * added .txt extensions to all README, TODO and COPYING files 2009-02-28 17:34:08 +00:00
fpmake.inc * start of conversion to fpmake 2008-01-08 23:44:09 +00:00
fpmake.pp * include fix fixes 2008-04-01 22:39:52 +00:00
Makefile + build embedded rtl 2009-02-01 17:17:39 +00:00
Makefile.fpc + build embedded rtl 2009-02-01 17:17:39 +00:00
README.txt * added .txt extensions to all README, TODO and COPYING files 2009-02-28 17:34:08 +00: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).

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.