mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-10 03:49:04 +02:00
![]() 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 - |
||
---|---|---|
.. | ||
aarch64 | ||
aix | ||
amicommon | ||
amiga | ||
android | ||
arm | ||
aros | ||
atari | ||
avr | ||
beos | ||
bsd | ||
charmaps | ||
darwin | ||
dragonfly | ||
embedded | ||
emx | ||
freebsd | ||
gba | ||
go32v2 | ||
haiku | ||
i386 | ||
i8086 | ||
inc | ||
java | ||
jvm | ||
linux | ||
m68k | ||
macos | ||
mips | ||
mipsel | ||
morphos | ||
msdos | ||
nativent | ||
nds | ||
netbsd | ||
netware | ||
netwlibc | ||
objpas | ||
openbsd | ||
os2 | ||
palmos | ||
powerpc | ||
powerpc64 | ||
qnx | ||
solaris | ||
sparc | ||
symbian | ||
ucmaps | ||
unix | ||
watcom | ||
wii | ||
win | ||
win16 | ||
win32 | ||
win64 | ||
wince | ||
x86_64 | ||
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.