fpc/rtl
pierre 0fabda01a8 * Added code to support Windows 95 again
This code is disabled by default, you need to complie the RTL
  with option -dSUPPORT_WIN95.

    2.4.2 release is already not usable on Windows 95 because
  the kernel32 DLL function TryEnterCriticalSection is loaded
  into system unit unconditionnally, while this function does
  not exist in Winddows 95 kernel32.

    This patch uses LoadLibrary/GetProcAddress coupple to check if
  TryEnterCriticalSection exists and provides an alternate implementation
  that will be used on Windows 95 systems only (Windows 98 kernel32
  DLL does export TryEnterCriticalSection).

git-svn-id: trunk@16579 -
2010-12-17 14:12:43 +00:00
..
amiga * MorphOS, Amiga: changed definition of sLineBreak to match other system units, fixes fcl-base build 2010-10-21 02:13:57 +00:00
arm * don't change the fpu control word in the initialisation code of dynamic 2010-11-14 16:00:25 +00:00
atari
avr + initial implementation of iso style gotos in iso mode 2010-08-05 19:20:46 +00:00
beos + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
bsd * fix type of fourth parameter of msgrcv function 2010-11-23 23:44:34 +00:00
darwin + cpu unit for x86-64 containing a CAS128 implementation 2010-11-01 08:20:31 +00:00
embedded + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
emx * Fixed spell error revealed by lintian. 2010-10-06 20:33:57 +00:00
freebsd + cpu unit for x86-64 containing a CAS128 implementation 2010-11-01 08:20:31 +00:00
gba + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
go32v2 * Fix tw1041 test failure 2010-12-16 13:25:20 +00:00
haiku + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
i386 * don't change the fpu control word in the initialisation code of dynamic 2010-11-14 16:00:25 +00:00
inc * fixed Windows compilation after r16533 2010-12-10 17:27:25 +00:00
linux * reverted the rtl patches from r14184, because they cause an endless 2010-11-24 15:33:29 +00:00
m68k + initial implementation of iso style gotos in iso mode 2010-08-05 19:20:46 +00:00
macos + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
mips * don't change the fpu control word in the initialisation code of dynamic 2010-11-14 16:00:25 +00:00
mipsel * more mipsel code 2009-12-06 12:12:15 +00:00
morphos * MorphOS, Amiga: changed definition of sLineBreak to match other system units, fixes fcl-base build 2010-10-21 02:13:57 +00:00
nativent + added Makefile 2010-12-11 20:39:37 +00:00
nds * Updated nds to devkitARM r32 and libnds 1.4.8 2010-10-31 15:22:49 +00:00
netbsd + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
netware * Fixed spell error revealed by lintian. 2010-10-06 20:33:57 +00:00
netwlibc * dynlibs.pas: added 'const' modifiers to eliminate unnecessary local string copies 2010-11-18 22:09:48 +00:00
objpas * Partially undo revision 16529: removing VariantToShortString breaks webtbs/tw14536 which calls the mentioned function directly instead of using typecast. 2010-12-11 23:25:20 +00:00
openbsd + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
os2 * dynlibs.pas: added 'const' modifiers to eliminate unnecessary local string copies 2010-11-18 22:09:48 +00:00
palmos + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
powerpc * don't overwrite the target value of interlockedcompareexchange*() if the 2010-11-29 12:53:10 +00:00
powerpc64 * don't overwrite the target value of interlockedcompareexchange*() if the 2010-11-29 12:53:10 +00:00
qnx + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
solaris + cpu unit for x86-64 containing a CAS128 implementation 2010-11-01 08:20:31 +00:00
sparc + initial implementation of iso style gotos in iso mode 2010-08-05 19:20:46 +00:00
symbian - removes Thread_count from the system unit of several OSes: the value of this variable was unpredictable and the hebaviour was not fixable, resolves #18089 2010-11-28 20:46:50 +00:00
ucmaps
unix * part of r16533, forgot to commit 2010-12-11 18:08:16 +00:00
watcom + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
win * Added code to support Windows 95 again 2010-12-17 14:12:43 +00:00
win32 - removes Thread_count from the system unit of several OSes: the value of this variable was unpredictable and the hebaviour was not fixable, resolves #18089 2010-11-28 20:46:50 +00:00
win64 - removes Thread_count from the system unit of several OSes: the value of this variable was unpredictable and the hebaviour was not fixable, resolves #18089 2010-11-28 20:46:50 +00:00
wince - removes Thread_count from the system unit of several OSes: the value of this variable was unpredictable and the hebaviour was not fixable, resolves #18089 2010-11-28 20:46:50 +00:00
x86_64 * don't change the fpu control word in the initialisation code of dynamic 2010-11-14 16:00:25 +00:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp
Makefile + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +00:00
Makefile.fpc + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and 2010-09-29 21:56:47 +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.