fpc/rtl
svenbarth f406867100 Merged revision(s) 31929-31931,32547 from branches/svenbarth/packages:
Switch Mac OS X to indirect entry information.

compiler/systems/t_bsd.pas, TLinkerBSD:
  + implement InitSysInitUnitName
compiler/system.pas:
  * systems_internal_sysinit: add Darwin systems
compiler/hlcgobj.pas, thlcgobj:
  * gen_proc_symbol_end: for Darwin systems don't directly call PascalMain for libraries, but FPC_LIBMAIN instead
rtl/darwin:
  + add sysinit.pas unit which contains the executable and library entry points for Darwin
rtl/darwin/Makefile.fpc:
  * add sysinit unit
rtl/bsd/sysosh.inc:
  + add a Darwin specific TPlatformEntryInformation (could probably be used for all Unix systems...)
rtl/bsd/system.pp:
  * define FPC_HAS_INDIRECT_MAIN_INFORMATION for Darwin systems once we're no longer bootstrapping with 2.6.x
  + add EntryInformation variable (this could maybe moved to system.inc...)
  + add new procedure SysEntry that is called from the entrypoint and which sets up necessary information required by other parts of the RTL
  * the old FPC_SYSTEMMAIN is still in place for bootstrapping
rtl/inc/systemh.inc, TEntryInformation:
  * PascalMain is cdecl on non-Windows systems (ToDo: really?)
rtl/inc/system.inc:
  * initialstklen is provided by the indirect entry information, so no external here
........
Fix bootstrapping.

rtl/darwin/sysinit.pas:
  * enable the code only when no longer bootstrapping with 2.6.x
........
Fix bootstrapping.

rtl/objpas/objpas.pp:
  * define FPC_HAS_INDIRECT_MAIN_INFORMATION for Darwin only while not bootstrapping with 2.6.x
........
rtl/darwin/sysinit.pas:
  * reference PASCALMAIN correctly (I wonder how this even worked previously :/ )

git-svn-id: trunk@33949 -
2016-06-11 20:29:51 +00:00
..
aarch64
aix * map ebusy and enotdir to error 5, mantis #25931 2016-03-17 21:15:44 +00:00
amicommon Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS 2016-04-17 15:31:18 +00:00
amiga m68k-amiga: fixed wrong define to test against softfpu (oops...) 2016-05-11 07:09:53 +00:00
android * fixed dependencies for lineinfo unit after r33007 2016-02-01 22:52:50 +00:00
arm + cpu unit for arm (linux only so far) 2016-03-06 13:33:20 +00:00
aros Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS 2016-04-17 15:31:18 +00:00
atari
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
bsd Merged revision(s) 31929-31931,32547 from branches/svenbarth/packages: 2016-06-11 20:29:51 +00:00
charmaps
darwin Merged revision(s) 31929-31931,32547 from branches/svenbarth/packages: 2016-06-11 20:29:51 +00:00
dragonfly * fixed dependencies for lineinfo unit after r33007 2016-02-01 22:52:50 +00:00
embedded + define FPC_NO_DEFAULT_HEAP for the embedded target as well 2016-05-16 13:26:39 +00:00
emx
freebsd * fixed dependencies for lineinfo unit after r33007 2016-02-01 22:52:50 +00:00
gba
go32v2 * avoid FindFirst failing due to Attribute parameter bigger than $FF 2016-06-03 21:16:35 +00:00
haiku * fix for mantis #25931 return error 5 on EBUSY and ENOTDIR 2016-03-17 21:14:07 +00:00
i386 * fixed the sign handling of i386 fpc_div_int64 helper (Mantis 30166) 2016-05-22 16:57:30 +00:00
i8086 + implemented proper stack checking for the i8086 2016-05-24 23:57:47 +00:00
inc Merged revision(s) 31929-31931,32547 from branches/svenbarth/packages: 2016-06-11 20:29:51 +00:00
java Fix compilation of JVM platform after recent changes to Delete() and Insert() 2016-06-04 10:42:09 +00:00
jvm * fixed version of fpc_pchar_length() for JVM (the generic one passes 2016-04-28 20:33:09 +00:00
linux * fixed cross-assembling the Linux/ppc32 loader files on a 64 bit Linux host 2016-04-20 22:17:11 +00:00
m68k m68k: a bunch of tweaks and improvements to assembly functions. higher move() speed on coldfire, disabled fillword implementation on CPUs not supporting unaligned access 2016-05-25 22:44:18 +00:00
macos * spelling mistakes fpc repo part, mantis #30233 2016-06-02 20:01:09 +00:00
mips
mipsel
morphos Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS 2016-04-17 15:31:18 +00:00
msdos * avoid FindFirst failing due to Attribute parameter bigger than $FF 2016-06-03 21:16:35 +00:00
nativent Regenerate NativeNT Makefile after recent Makefile.fpc changes in r33711, r33712 and r33713 2016-05-20 13:22:39 +00:00
nds
netbsd * fixed dependencies for lineinfo unit after r33007 2016-02-01 22:52:50 +00:00
netware
netwlibc
objpas * in SysUtils.DecodeDate(), cast the result of trunc() to longint (trunc 2016-06-10 19:39:44 +00:00
openbsd * fixed dependencies for lineinfo unit after r33007 2016-02-01 22:52:50 +00:00
os2 * fix compilation after UnicodeString ExecuteProcess related changes 2016-06-03 23:57:51 +00:00
palmos
powerpc
powerpc64
qnx
solaris * fix for mantis #25931 return error 5 on EBUSY and ENOTDIR 2016-03-17 21:14:07 +00:00
sparc
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
unix * fixed (harmless) range error in 64 bit BSD-based RTLs 2016-05-21 14:48:32 +00:00
watcom * avoid FindFirst failing due to Attribute parameter bigger than $FF 2016-06-03 21:16:35 +00:00
wii
win + added the winapi functions, structures and constants for raw keyboard and mouse input 2016-05-22 01:59:27 +00:00
win16 * Fix compilation for win16 OS with -dSYSTEMDEBUG 2016-05-20 15:58:27 +00:00
win32 Change WideString initialization to work correctly with indirect main information as well 2016-04-29 13:13:14 +00:00
win64 * Also assign the ErrorCode variable, which is being checked by some tests like test/tstack.pp. 2016-04-03 22:26:10 +00:00
wince * Define STACK_SIZE_PARAM_IS_A_RESERVATION 2016-03-27 11:11:54 +00:00
x86_64 * x86_64: Modified fpc_exp_real so it does not use 'sahf' assembler instruction, which may be not present on early 64-bit capable x86 processors. Mantis #29583. 2016-03-07 22:39:34 +00:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp
Makefile
Makefile.fpc
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.