
                   Free Pascal Compiler

               Version 1.9.8 aka 2.0.0-Rc2

***********************************************************
* Introduction
***********************************************************

*** WARNING *** WARNING *** WARNING ***
This a beta release and it still contains some known bugs.
However, it would be very useful if you could test your
projects with it and tell us when you find bugs. You can
submit bug reports on the website.
*** WARNING *** WARNING *** WARNING ***

This package contains a freeware 32-bit pascal compiler
for several platforms. The language and the runtime
library are almost compatible with Turbo Pascal 7.0 and
recent Delphi releases. There is also partial support for
the Macintosh pascal dialect.

Free Pascal 1.9.8 is currently available for the following
platforms:
- Linux-i386
- Linux-powerpc
- Linux-sparc
- Linux-x86_64 (amd64)
- Dos (i386), using the Go32v2 dos extender
- Win32 (Win95/98/Me/XP/2000 and WinNT)
- OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business
and eComStation)
- FreeBSD i386
- Mac OS X/Darwin for PowerPC
- Mac OS (classic) for PowerPC
- Netware-i386
- NetwLibc-i386 (LibC is preferred API under newer Netware
versions)

More platforms will be supported in future 1.9.x beta
releases. Because release building is quite time
intensive, we decide to start the 2.0 beta series only
with the most important targets. If you want to change
this and create and maintain 2.0 beta releases for other
platforms and targets, feel free to contact us, E-Mail
addresses are listed below.

**********************************************************
* Features
**********************************************************

- high speed compiler
- fully 32 or 64-bit code
- language features:
  - almost fully compatible with Borland Pascal and
    Borland Delphi
  - ansi strings
  - wide strings
  - exception support
  - RTTI support
  - procedure overloading
  - operator overloading
  - COM, CORBA and raw interfaces support
  - dynamic array support
  - variant support
- code optimizer:
  - peephole optimizer (80x86-only)
  - loading of variables into registers
  - assembler level dataflow analyzer (80x86-only)
  - stack frame eliminations
  - sophisticated register allocator
- integrated BASM (built-in assembler) parser
  - supports ATT syntax used by GNU C
  - supports Intel syntax used by Turbo Pascal
    (80x86-only)
- can compile code into assembler source code for these
  assemblers:
  - GNU Assembler (GAS)
  - Netwide assembler (Nasm)
  - Microsoft Assembler/Turbo Assembler (Masm/Tasm)
- can call external C code
- smartlinking (not yet supported under Mac OS X)
- support for the GNU debugger
- IDE (currently for GO32v2, Linux, FreeBSD and Win32
  only, in beta testing phase)
- can create binaries running natively under both DOS and
  OS/2 (EMX version)


**********************************************************
* Minimum requirements
**********************************************************

i386, x86_64, PowerPC or Sparc processor
Win32:
 - Win95/98/Me/2000/XP or WinNT
 - 16 MB RAM
OS/2:
 - OS/2 Warp v3.0, OS/2 Warp v4.0, WSeB, MCP or any
   eComStation version (OS/2 2.0/2.1 may work partly, but
   not supported)
Linux:
 - system running a 2.0.x kernel
FreeBSD:
- FreeBSD 4.x system or 5.x system that has COMPAT_4
  system (which is default)
Mac OS X:
 - Mac OS X 10.1 and higher (10.0 may also work, but is
   untested)
Mac OS (classic)
 - Mac OS 9.2 has been tested, should probably also work
   from 7.5.3 and up.

**********************************************************
* Quick start - Mac OS X
**********************************************************

The easiest way to get started is by following the
instructions to install the XCode integration kit at
http://www.freepascal.org/xcode.html. However, for those
interested in also compiling from the command line (or
those under Mac OS X 10.2.x or earlier), command line
instructions can be found below.

The compiler is called "fpc" and will be installed in
/usr/local/bin. This directory may not be in your PATH yet
(if you type "fpc" in a Terminal window and you get
something like "fpc: command not found", then it isn't).

If the installation directory is not yet in your path, you
will have to add it. Follow the instructions at
"http://fink.sourceforge.net/doc/users-guide/install.php#setup"
to determine which file you have to edit, but instead of
adding the line suggested there, add the following at the
end:

- if your shell is the Bourne shell (bash): 
	export PATH=/usr/local/bin:$PATH

- if your shell is the C Shell (csh or tcsh):
	setenv PATH /usr/local/bin:${PATH}

Next, close the Terminal window and open a new one. Now
the path should be set correctly.

After installing the package, you can write your source
code in your favorite editor (including Project Builder
and XCode). To compile something, go to the directory
containing your source files in Terminal and type

        fpc name_of_your_source_file

The compiler only accepts one file name as argument, but
will automatically search for and compile any units used
by the specified source file. Run "fpc" without any
arguments to get an overview of the possible command line
options.


**********************************************************
* Documentation
**********************************************************

The documentation is available as HTML pages, PDF, PS, and
text although the recommended format is pdf. The PDF
documentation is installed in
"/Developer/Documentation/Free Pascal Compiler". The html
version can be found on the website in the "More
information" section, and on the ftp site at
ftp://ftp.freepascal.org/fpc/docs

**********************************************************
* Suggestions, Help, Bug reporting, snapshots,  ...
**********************************************************

Suggestions, Help ...
---------------------
e-mail: fpc-devel@lists.freepascal.org (bugs, developer
  related questions)
e-mail: fpc-pascal@lists.freepascal.org (general pascal
  related questions)

Both these adresses are for mailing lists. If you're not
subscribed, be sure to mention this fact when sending
questions to these lists, so that people sending answers
know about it and send you a copy. Information about
available lists and subscription can be found on
http://lists.freepascal.org/mailman/listinfo

www: http://www.freepascal.org
ftp: ftp://ftp.freepascal.org/fpc
(several mirrors exist, see website for links)

Additional information about mailing lists, news, future
plans etc. can be found on the web site.

SNAPSHOTS & SOURCES
-------------------
One of the features of FPC is the snapshots. These are
made daily or weekly from the developers' latest versions
of the source. Snapshots are available for the GO32v2,
Win32, OS/2 and Linux versions of the compiler/rtl. There
is currently no daily snapshot of the Mac OS X version,
but when significant bugs are fixed, a new version is made
available at http://www.freepascal.org/fpcmac.html


Making your own snapshots
-------------------------
Instructions to do this can be found at
http://www.surtec.com/~rj/Xcode-FreePascal/#FPC/CVS-Quickstart


REPORTING BUGS
----------------
If you find a bug in the released version, you may want to
try a snapshot (see SNAPSHOTS above) to see if it has been
fixed before reporting it to the fpc-devel mailing list.

If you find a fault or 'feature' in a release, please
report it to the fpc-devel mailing list. PLEASE SEND ALSO
A SMALL EXTRACT OF THE SOURCE CODE which caused the
problem, and state the version eg Win32, GO32v2, and the
date of the compiler etc on which you noticed the problem
& any other useful info so the developers can reproduce
the problem, otherwise they may not be willing/able to fix
it.


**********************************************************
* License
**********************************************************

The compiler and most utilities and executables
distributed in this package fall under the GPL, for more
information read the file COPYING.

Some specific utilities and programs come under the
license described in COPYING.DJ, COPYING.EMX and
COPYING.RSX.

The documentation, unless otherwise noted, is distributed
as free text, and is distributed under the GNU Library
General Public License.

The runtime library, package libraries, free component
library, and other libraries which are used to create
executables by the compiler come under a modified GNU
Library General Public license. Additional information
about the library license is found in COPYING.FPC.

NOTE: OS/2 version of the installer uses the library
UNZIP32.DLL from Info-ZIP. Info-ZIP's software (Zip, UnZip
and related utilities) is free and can be obtained as
source code or executables from Internet/WWW sites,
including http://www.info-zip.org.
