fpc/rtl
Jonas Maebe 37aa2d8443 + full support for sets on the JVM target
o sets of enums are handled as JUEnumSet instances, others as JUBitSet
     derivatives (both smallsets and varsets, to make interoperability with
     Java easier)
   o special handling of set constants: these have to be constructed at run
     time. In case of constants in the code, create an internal constsym to
     represent them. These and regular constsyms are then aliased by an
     another internal staticvarsym that is used to initialise them in the
     unit initialisation code.
   o until they are constructed at run time, set constants are encoded as
     constant Java strings (with the characters containing the set bits)
   o hlcgobj conversion of tcginnode.pass_generate_code() for the genjumps
     part (that's the only part of the generic code that's used by the JVM
     target)
   o as far as explicit typecasting support is concerned, currently the
     following ones are supported (both from/to setdefs): ordinal types,
     enums, any other set types (whose size is the same on native targets)
   o enum setdefs also emit signatures
   o overloading routines for different ordinal set types, or for different
     enum set types, is not supported on the JVM target

git-svn-id: branches/jvmbackend@18662 -
2011-08-20 08:22:22 +00:00
..
amiga + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
arm * Promoted result type of FPC_PCHAR_LENGTH and FPC_PWIDECHAR_LENGTH to SizeInt. 2011-06-13 04:59:17 +00:00
atari
avr * fixed compilation of assembler helpers 2011-02-27 21:11:03 +00:00
beos + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
bsd * fix type of fourth parameter of msgrcv function 2010-11-23 23:44:34 +00:00
darwin + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
embedded + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
emx + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
freebsd + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
gba + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
go32v2 + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
haiku + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
i386 * Promoted result type of FPC_PCHAR_LENGTH and FPC_PWIDECHAR_LENGTH to SizeInt. 2011-06-13 04:59:17 +00:00
inc * fixes cmem.malloc et al. for windows as proposed by Ludo Brands, resolves #15571 2011-08-18 08:47:44 +00:00
java + full support for sets on the JVM target 2011-08-20 08:22:22 +00:00
jvm + minimal Java rtl (based on embedded rtl, but with all code and most 2011-08-20 07:45:34 +00:00
linux + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
m68k + initial implementation of iso style gotos in iso mode 2010-08-05 19:20:46 +00:00
macos + Update all Makefile's modified by 2011-08-16 20:10:19 +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
morphos + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
nativent + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
nds + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
netbsd + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
netware + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
netwlibc + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
objpas * fix Types.UnionRect as proposed by Piotr Karasinski, resolves #20006 2011-08-17 12:01:23 +00:00
openbsd * Regenned all makefiles before 2.6.x branching. 2011-08-03 13:41:52 +00:00
os2 + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
palmos + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
powerpc * Promoted result type of FPC_PCHAR_LENGTH and FPC_PWIDECHAR_LENGTH to SizeInt. 2011-06-13 04:59:17 +00:00
powerpc64 * don't overwrite the target value of interlockedcompareexchange*() if the 2010-11-29 12:53:10 +00:00
qnx * Regenned all makefiles before 2.6.x branching. 2011-08-03 13:41:52 +00:00
solaris + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
sparc + initial implementation of iso style gotos in iso mode 2010-08-05 19:20:46 +00:00
symbian + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
ucmaps
unix * patch by Nikolay Nikolov to support Alt-Tab and Ctrl-Tab on the linux console, resolves #19247 2011-08-16 18:58:50 +00:00
watcom * Regenned all makefiles before 2.6.x branching. 2011-08-03 13:41:52 +00:00
wii + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
win * load listseparator from locale. Patch by Bart B. Mantis 19976 2011-08-13 09:16:46 +00:00
win32 + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
win64 + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
wince + Update all Makefile's modified by 2011-08-16 20:10:19 +00:00
x86_64 * Reverted r17343, and IFDEF'ed out the newer assembler procedures for FreeBSD for now. They require fixes to assembler writer, and after it's done they still have to be disabled during bootstrapping. 2011-04-19 15:28:53 +00:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp
Makefile + minimal Java rtl (based on embedded rtl, but with all code and most 2011-08-20 07:45:34 +00:00
Makefile.fpc * Trunk version to 2.7.1 2011-08-03 13:59:33 +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.