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 yourprojects with it and tell us when you find bugs. You cansubmit bug reports on the website.*** WARNING *** WARNING *** WARNING ***This package contains a freeware 32-bit pascal compilerfor several platforms. The language and the runtimelibrary are almost compatible with Turbo Pascal 7.0 andrecent Delphi releases. There is also partial support forthe 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 betareleases. Because release building is quite timeintensive, we decide to start the 2.0 beta series onlywith the most important targets. If you want to changethis and create and maintain 2.0 beta releases for otherplatforms and targets, feel free to contact us, E-Mailaddresses 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 processorWin32: - Win95/98/Me/2000/XP or WinNT - 16 MB RAMOS/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 kernelFreeBSD:- 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 theinstructions to install the XCode integration kit athttp://www.freepascal.org/xcode.html. However, for thoseinterested in also compiling from the command line (orthose under Mac OS X 10.2.x or earlier), command lineinstructions 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 getsomething like "fpc: command not found", then it isn't).If the installation directory is not yet in your path, youwill 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 ofadding the line suggested there, add the following at theend:- 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. Nowthe path should be set correctly.After installing the package, you can write your sourcecode in your favorite editor (including Project Builderand XCode). To compile something, go to the directorycontaining your source files in Terminal and type fpc name_of_your_source_fileThe compiler only accepts one file name as argument, butwill automatically search for and compile any units usedby the specified source file. Run "fpc" without anyarguments to get an overview of the possible command lineoptions.*********************************************************** Documentation**********************************************************The documentation is available as HTML pages, PDF, PS, andtext although the recommended format is pdf. The PDFdocumentation is installed in"/Developer/Documentation/Free Pascal Compiler". The htmlversion can be found on the website in the "Moreinformation" section, and on the ftp site atftp://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 notsubscribed, be sure to mention this fact when sendingquestions to these lists, so that people sending answersknow about it and send you a copy. Information aboutavailable lists and subscription can be found onhttp://lists.freepascal.org/mailman/listinfowww: http://www.freepascal.orgftp: ftp://ftp.freepascal.org/fpc(several mirrors exist, see website for links)Additional information about mailing lists, news, futureplans etc. can be found on the web site.SNAPSHOTS & SOURCES-------------------One of the features of FPC is the snapshots. These aremade daily or weekly from the developers' latest versionsof the source. Snapshots are available for the GO32v2,Win32, OS/2 and Linux versions of the compiler/rtl. Thereis currently no daily snapshot of the Mac OS X version,but when significant bugs are fixed, a new version is madeavailable at http://www.freepascal.org/fpcmac.htmlMaking your own snapshots-------------------------Instructions to do this can be found athttp://www.surtec.com/~rj/Xcode-FreePascal/#FPC/CVS-QuickstartREPORTING BUGS----------------If you find a bug in the released version, you may want totry a snapshot (see SNAPSHOTS above) to see if it has beenfixed before reporting it to the fpc-devel mailing list.If you find a fault or 'feature' in a release, pleasereport it to the fpc-devel mailing list. PLEASE SEND ALSOA SMALL EXTRACT OF THE SOURCE CODE which caused theproblem, and state the version eg Win32, GO32v2, and thedate of the compiler etc on which you noticed the problem& any other useful info so the developers can reproducethe problem, otherwise they may not be willing/able to fixit.*********************************************************** License**********************************************************The compiler and most utilities and executablesdistributed in this package fall under the GPL, for moreinformation read the file COPYING.Some specific utilities and programs come under thelicense described in COPYING.DJ, COPYING.EMX andCOPYING.RSX.The documentation, unless otherwise noted, is distributedas free text, and is distributed under the GNU LibraryGeneral Public License.The runtime library, package libraries, free componentlibrary, and other libraries which are used to createexecutables by the compiler come under a modified GNULibrary General Public license. Additional informationabout the library license is found in COPYING.FPC.NOTE: OS/2 version of the installer uses the libraryUNZIP32.DLL from Info-ZIP. Info-ZIP's software (Zip, UnZipand related utilities) is free and can be obtained assource code or executables from Internet/WWW sites,including http://www.info-zip.org.