readme.txt 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. Free Pascal Compiler
  2. Version 1.9.6 aka 2.0.0-Rc1
  3. ****************************************************************************
  4. * Introduction
  5. ****************************************************************************
  6. *** WARNING *** WARNING *** WARNING ***
  7. This a beta release and it still contains some known bugs. However, it would
  8. be very useful if you could test your projects with it and tell us when
  9. you find bugs. You can submit bug reports on the website.
  10. *** WARNING *** WARNING *** WARNING ***
  11. This package contains a freeware 32-bit pascal compiler for several
  12. platforms. The language and the runtime library are almost compatible with
  13. Turbo Pascal 7.0 and recent Delphi releases. There is also partial support
  14. for the Macintosh pascal dialect.
  15. Free Pascal 1.9.6 is currently available for the following platforms:
  16. - Linux-i386
  17. - Linux-powerpc
  18. - Linux-sparc
  19. - Linux-x86_64 (amd64)
  20. - Dos (i386), using the Go32v2 dos extender
  21. - Win32 (Win95/98/Me/XP/2000 and WinNT)
  22. - OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation)
  23. - FreeBSD i386
  24. - Mac OS X/Darwin for PowerPC
  25. - Mac OS (classic) for PowerPC
  26. - Netware-i386
  27. - NetwLibc-i386 (LibC is preferred API under newer Netware versions)
  28. More platforms will be supported in future 1.9.x beta releases.
  29. Because release building is quite time intensive, we decide to start the
  30. 2.0 beta series only with the most important targets. If you want to change
  31. this and create and maintain 2.0 beta releases for other platforms and
  32. targets, feel free to contact us, e-mail addresses are listed below.
  33. ****************************************************************************
  34. * Features
  35. ****************************************************************************
  36. - high speed compiler
  37. - fully 32 or 64-bit code
  38. - language features:
  39. - almost fully compatible with Borland Pascal and Borland Delphi
  40. - ansi strings
  41. - wide strings
  42. - exception support
  43. - RTTI support
  44. - procedure overloading
  45. - operator overloading
  46. - COM, CORBA and raw interfaces support
  47. - dynamic array support
  48. - variant support
  49. - code optimizer:
  50. - peephole optimizer (80x86-only)
  51. - loading of variables into registers
  52. - assembler level dataflow analyzer (80x86-only)
  53. - stack frame eliminations
  54. - sophisticated register allocator
  55. - integrated BASM (built-in assembler) parser
  56. - supports ATT syntax used by GNU C
  57. - supports Intel syntax used by Turbo Pascal (80x86-only)
  58. - can compile code into assembler source code for these assemblers:
  59. - GNU Assembler (GAS)
  60. - Netwide assembler (Nasm)
  61. - Microsoft Assembler/Turbo Assembler (Masm/Tasm)
  62. - can call external C code
  63. - smartlinking (not yet supported under Mac OS X)
  64. - support for the GNU debugger
  65. - IDE (currently for GO32v2, Linux, FreeBSD and Win32 only, in beta testing
  66. phase)
  67. - can create binaries running natively under both DOS and OS/2 (EMX version)
  68. ****************************************************************************
  69. * Minimum requirements
  70. ****************************************************************************
  71. i386, x86_64, PowerPC or Sparc processor
  72. Win32:
  73. - Win95/98/Me/2000/XP or WinNT
  74. - 16 MB RAM
  75. OS/2:
  76. - OS/2 Warp v3.0, OS/2 Warp v4.0, WSeB, MCP or any eComStation version
  77. (OS/2 2.0/2.1 may work partly, but not supported)
  78. Linux:
  79. - system running a 2.0.x kernel
  80. FreeBSD:
  81. - FreeBSD 4.x system or 5.x system that has COMPAT_4 system (which is
  82. default)
  83. Mac OS X:
  84. - Mac OS X 10.1 and higher (10.0 may also work, but is untested)
  85. Mac OS (classic)
  86. - Mac OS 9.2 has been tested, should probably also work from 7.5.3 and up.
  87. ****************************************************************************
  88. * Quick start - Win32 / OS/2 / DOS
  89. ****************************************************************************
  90. Download distribution archive (fpc-1.9.6.i386-win32.zip for Win32,
  91. dos196.zip for GO32v2 or os2196.zip for OS/2) and unzip it
  92. into a temporary directory.
  93. Start the install program INSTALL.EXE and follow the instructions.
  94. Don't forget to set the path as mentioned by the install program.
  95. To test the compiler, change to the demo directory of the compiler
  96. and type
  97. fpc hello
  98. hello
  99. ****************************************************************************
  100. * Quick start - Linux/FreeBSD
  101. ****************************************************************************
  102. Download fpc-1.9.6.<cpu>-<os>.tar and untar into a temporary directory.
  103. Start the install script with ./install.sh and follow the instructions.
  104. To test the compiler, change to the demo directory of the compiler
  105. and type
  106. fpc hello
  107. hello
  108. ****************************************************************************
  109. * Documentation
  110. ****************************************************************************
  111. The documentation is available as HTML pages, PDF, PS, and text although the
  112. recommended format is pdf. These are all available on
  113. ftp://ftp.freepascal.org/fpc/docs
  114. NB that there is at present no FPC specific documentation for the Win32
  115. system functions. There is a note in the ftp /doc explaining where
  116. the MS help file for this can be obtained.
  117. ****************************************************************************
  118. * Suggestions, Help, Bug reporting, snapshots, ...
  119. ****************************************************************************
  120. Suggestions, Help ...
  121. ---------------------
  122. e-mail: [email protected] (bugs, developer related questions)
  123. e-mail: [email protected] (general pascal related questions)
  124. Both these adresses are for mailing lists. If you're not subscribed,
  125. be sure to mention this fact when sending questions to these lists,
  126. so that people sending answers know about it and send you a copy.
  127. Information about available lists and subscription can be found
  128. on http://lists.freepascal.org/mailman/listinfo
  129. WWW: http://www.freepascal.org
  130. FTP: ftp://ftp.freepascal.org/fpc
  131. (several mirrors exist, see website for links)
  132. Additional information about mailing lists, news, future plans etc.
  133. can be found on the web site.
  134. SNAPSHOTS & SOURCES
  135. -------------------
  136. One of the features of FPC is the snapshots. These are made daily or weekly
  137. from the developers' latest versions of the source. Snapshots are available
  138. for GO32v2, Win32, OS/2, Linux and Netware versions. The latest snapshots
  139. are in: ftp... /fpc/snapshot/ in appropriately named .zip/tar files.
  140. You will also normally find in the snapshot archive file a readme, with
  141. a note about the latest included changes. It is quite common, though it doesn't
  142. always happen, that when a bug is reported it is fixed and a fixed version
  143. can be obtained the NEXT day in the appropriate snapshot.... yes really!
  144. Also on the ftp site you'll find a /dist directory, with the latest
  145. distributed releases, a /docs directory, and a /source directory, in
  146. which every night at about 0100 GMT the latest source generated by the
  147. developers during the day & evening before is exported from CVS
  148. into ZIP file fpc.zip.
  149. Making your own snapshots
  150. -------------------------
  151. By downloading the /source files (makefiles are included)
  152. it is possible to to make your own version of the fpc compiler/rtl
  153. and to modify it. You are of course free to do this
  154. so long as you observe the licence conditions. In order to make the
  155. compiler/rtl & ides in a resonable time (eg <30 minutes) you'll need at least
  156. 32M of physical memory (64M is better) memory and at least a 200 Mhz processor
  157. and at least 20 Mbytes of free disk space. You'll also need
  158. some knowledge of making files & programming... it is not
  159. difficult but it isn't easy either!
  160. REPORTING BUGS
  161. ----------------
  162. If you find a bug in the released version, you may want to try a snapshot
  163. (see SNAPSHOTS above) to see if it has been fixed before reporting it to
  164. the fpc-devel mailing list.
  165. If you find a fault or 'feature' in a release, please report it either using
  166. the bug reporting interface available on our WWW pages (see above), or to
  167. the fpc-devel mailing list. PLEASE INCLUDE ALSO A COMPILABLE CODE FRAGMENT
  168. which can be used to reproduce the problem (or a link to larger archive if
  169. it cannot reproduced with small example), and state the version eg Win32,
  170. GO32v2, and the date of the compiler etc on which you noticed the problem
  171. & any other useful info so the developers can reproduce the problem,
  172. otherwise they may not be willing/able to fix it.
  173. ****************************************************************************
  174. * License
  175. ****************************************************************************
  176. The compiler and most utilities and executables distributed in this package
  177. fall under the GPL, for more information read the file COPYING.
  178. Some specific utilities and programs come under the license described in
  179. COPYING.DJ, COPYING.EMX and COPYING.RSX.
  180. The documentation, unless otherwise noted, is distributed as free
  181. text, and is distributed under the GNU Library General Public
  182. License.
  183. The runtime library, package libraries, free component library, and
  184. other libraries which are used to create executables by the compiler
  185. come under a modified GNU Library General Public license. Additional
  186. information about the library license is found in COPYING.FPC.
  187. NOTE: OS/2 version of the installer uses the library UNZIP32.DLL from
  188. Info-ZIP. Info-ZIP's software (Zip, UnZip and related utilities)
  189. is free and can be obtained as source code or executables from
  190. Internet/WWW sites, including http://www.info-zip.org.