fpc/rtl
Jonas Maebe d66d15aad3 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit
* renamed platform-specific pchar versions of those rouines to do_*() and
    changed them to either rawbytestring or unicodestring depending on the
    FPCRTL_FILESYSTEM_SINGLE_BYTE_API/FPCRTL_FILESYSTEM_TWO_BYTE_API setting
  * implemented generic shortstring versions of those routines on top of either
    rawbytestring or unicodestring depending on the API-kind (in case of the
    embedded target, if ansistring are not supported they will map directly
    to shortstring routines instead)
  * all platform-specific *dir() routines with rawbytestring parameters now
    receive their parameters in DefaultFileSystemCodePage
  - removed no longer required ansistring variants from the objpas unit
  - removed no longer required FPC_SYS_MKDIR etc aliases
  * factored out empty string and inoutres<>0 checks from platform-specific
    *dir() routines to generic ones
  o platform-specific notes:
   o amiga/morphos: check new pathconv(rawbytestring) function
   o macos TODO: convert PathArgToFSSpec (and the routines it calls) to
     rawbytestring
   o nativent: added SysUnicodeStringToNtStr() function
   o wii: convert dirio callbacks to use rawbytestring to avoid conversion
  + test for unicode mk/ch/rm/getdir()

git-svn-id: branches/cpstrrtl@25048 -
2013-07-04 22:28:37 +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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + Added additional addr pointer parameter to 2012-06-24 21:22:09 +00:00
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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
emx + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
go32v2 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
java * made ToSingleByteFileSystemEncodedFileName(unicodestring) overridable by 2013-06-27 21:38:17 +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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + several redirection include files for mipsel/mipsel-linux 2012-04-21 18:21:09 +00:00
morphos + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
msdos + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
nativent + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
nds + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
netwlibc + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
objpas + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + Added additional addr pointer parameter to 2012-06-24 21:22:09 +00:00
powerpc64 + Added additional addr pointer parameter to 2012-06-24 21:22:09 +00:00
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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
ucmaps - remove maps with unclear header 2012-09-18 18:46:23 +00:00
unix + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
watcom + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
wii + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +00:00
win + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit 2013-07-04 22:28:37 +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 bugfixes: 2012-04-26 13:15:52 +00:00
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.