fpc/rtl
Jonas Maebe 62ee16278b * changed getdir(ansistring):ansistring to
getdir(rawbytestring):rawbytestring so it can accept strings in any
    encoding and cleanly return results in DefaultRTLFileSystemCodePage
  + getdir(unicodestring):unicodestring
  * renamed the getdir implementation of all platforms except for embedded-
    without-ansistring-support to do_getdir(), and depending on the
    FPCRTL_FILESYSTEM_SINGLE_BYTE_API/FPCRTL_FILESYSTEM_TWO_BYTE_API define
    changed its shortstring parameter to ansistring or unicodestring. The
    do_getdir(rawbytestring) routine should just set the code page of the
    return value to DefaultFileSystemCodePage without conversion (not
    DefaultRTLFileSystemCodePage with conversion, that conversion is performed
    in getdir if necessary; this avoids double conversions in case
    getdir(unicodestring) is called)
  + generic getdir(shortstring) for platforms supporting either ansistrings or widestrings
  o platform maintainers:
   o OS/2: adjust code to supports paths > 255 characters if those are supported
   o Wii: adjust used callback to use rawbytestring to support paths > 255 characters and
     avoid shortstring->rawbytestring conversion overhead
   o Windows: GetCurrentDirectoryW is now always used (to prevent data loss)

git-svn-id: branches/cpstrrtl@24993 -
2013-06-27 21:37:47 +00:00
..
aix + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
amiga * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
android * Android: There are cases when libc "environ" var may be NULL. Check for such case and provide fake valid environment. Bug #24519. 2013-06-04 15:21:29 +00:00
arm * disable assembler versions of string routines for arm thumb 2013-03-25 17:54:32 +00:00
atari + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
avr
beos + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
bsd * some O_ constants. Patch by Barlone. 2013-05-20 15:30:40 +00:00
charmaps rtl: add missing windows codepages (mantis #0024294) 2013-04-22 01:48:12 +00:00
darwin + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
embedded * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
emx * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
freebsd + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
gba * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
go32v2 * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
haiku + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
i386 * Fixed overflow handling in i386 assembler implementations of fpc_div_qword and fpc_mod_qword. 2013-04-29 01:12:45 +00:00
i8086 * fpc_setjmp and fpc_longjmp updated to support far code memory models 2013-06-11 23:59:30 +00:00
inc * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
java + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
jvm * Revert changes to java-related files by r23604. 2013-02-13 13:13:21 +00:00
linux + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
m68k rtl/m68k/m68k.inc: 2013-01-17 21:19:27 +00:00
macos * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
mips * InterlockedIncrement/Decrement must return the modified value, not the initial one. Fixes a number of interface memory leaks in MIPS test suite. The functions remain not thread-safe yet. 2013-01-15 19:17:57 +00:00
mipsel
morphos * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
msdos * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
nativent * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
nds * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
netbsd + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
netware * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
netwlibc * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
objpas * declare tsyscharset as a set of ansichar instead of as a set of char 2013-06-27 21:37:29 +00:00
openbsd + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
os2 * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
palmos + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
powerpc
powerpc64
qnx + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
solaris + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
sparc * use membar only for sparcv9(+) 2012-12-03 21:55:51 +00:00
symbian * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
ucmaps - remove maps with unclear header 2012-09-18 18:46:23 +00:00
unix * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
watcom * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
wii * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
win * changed getdir(ansistring):ansistring to 2013-06-27 21:37:47 +00:00
win32 + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
win64 + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
wince + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we 2013-06-27 21:37:39 +00:00
x86_64 * Fix win64 math unit compilation 2013-04-26 09:37:48 +00:00
COPYING.FPC
COPYING.txt
fpmake.inc
fpmake.pp
Makefile Regenerate all Makefiles with an up-to-date fpcmake binary (dummy commit) 2013-04-29 12:30:54 +00:00
Makefile.fpc * merge i8086 branch by Nikolay Nikolov 2013-04-25 20:23:51 +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.