readme.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. Free Pascal Compiler
  2. Version 0.99.14
  3. ****************************************************************************
  4. * Introduction
  5. ****************************************************************************
  6. This package contains a freeware 32-bit pascal compiler for 386+. The language
  7. and the runtime library are more or less compatible to TP 7.0. Some Delphi
  8. additions have also been implemented like classes, exceptions, ansistrings
  9. and rtti.
  10. Free Pascal is currently available for the following platforms:
  11. - DOS, via the DJ Delorie's GO32V2 Dos extenders
  12. - Linux (i386), both aout and elf
  13. - OS/2 & DOS, via the EMX extender
  14. - Win32 (Win32s, Win95/98 and WinNT)
  15. Older version of the compiler (0.99.5) is also available on:
  16. - Commodore Amiga
  17. - Atari ST
  18. More platforms will be supported in the future.
  19. ****************************************************************************
  20. * Features
  21. ****************************************************************************
  22. - high speed compiler
  23. - fully 32-bit code
  24. - language features:
  25. - almost fully compatible with Borland Pascal
  26. - partially compatible with Borland Delphi
  27. - ansi strings
  28. - exception support
  29. - RTTI support
  30. - procedure overloading
  31. - operator overloading
  32. - code optimizer:
  33. - peephole optimizer
  34. - loading of variables into registers
  35. - assembler level dataflow analyzer
  36. - stack frame eliminations
  37. - integrated BASM (built-in assembler) parser
  38. - supports ATT syntax used by GNU C
  39. - supports Intel syntax used by Turbo Pascal
  40. - can compile code into assembler source code for these assemblers:
  41. - GNU Assembler (GAS)
  42. - Netwide assembler (Nasm)
  43. - Microsoft Assembler/Turbo Assembler (Masm/Tasm)
  44. - can call external C code
  45. - smartlinking
  46. - support for the GNU debugger
  47. - cross-platform API
  48. - IDE (currently for GO32v2 and Win32 only, in beta testing phase)
  49. - can create binaries running natively under both DOS and OS/2 (EMX version)
  50. ****************************************************************************
  51. * Requirements
  52. ****************************************************************************
  53. 386 processor
  54. DOS (extender GO32v2):
  55. - DOS 3.3
  56. - 4 MB RAM (8+ MB recommended)
  57. - hard disk with free space of 8 MB
  58. - DMPI server (CWSDPMI is delivered in the go32v2 distribution)
  59. Win32:
  60. - Win95/98 or WinNT
  61. - 8 MB RAM (16+ MB recommended)
  62. OS/2 and DOS (extender EMX):
  63. - either DOS 5.0 and above
  64. or OS/2 v2.x and above
  65. - 3 MB RAM (8+ MB recommended) for DOS
  66. or 8 MB (12 or more MB recommended depending on OS version) for OS/2
  67. - EMX or RSX (for DPMI) runtime package (part of OS/2 distribution)
  68. ****************************************************************************
  69. The current version is only an evaluation version.
  70. ****************************************************************************
  71. Quick start
  72. -----------
  73. Download dos09914.zip (version for DOS) or w3209914.zip (version for
  74. Win9x/NT) or os209914.zip (EMX version - for OS/2 and DOS) and unzip it
  75. into a temporary directory.
  76. Start the install program INSTALL.EXE and follow the instructions.
  77. Don't forget to set the path as mentioned by the install program.
  78. To test the compiler, change to the demo directory of the compiler
  79. and type
  80. ppc386 hello or ppos2 hello (for EMX version)
  81. hello
  82. ****************************************************************************
  83. * The packages of the distribution
  84. ****************************************************************************
  85. All standard packages contain a part that is specific for the target platform
  86. and a few files which are target independent. All files are also available
  87. as separate files to reduce file size if the default file is too big.
  88. dos09914.zip specific:
  89. ----------------------
  90. basego32.zip contains a DOS (Go32V2) compiler, runtime library and
  91. additional files
  92. asldgo32.zip contains additional GNU utilities which are necessary:
  93. AS 2.9.1 for Go32V2
  94. LD 2.9.1 for Go32V2
  95. AR 2.8.1 for Go32V2
  96. Strip 2.8.1 for Go32V2
  97. utilgo32.zip contains additional GNU utilities which might be useful to
  98. compile the run time library:
  99. Make 3.76.1
  100. RM 3.16
  101. CP 3.16
  102. MV 3.16
  103. PWD 3.16
  104. GInstall 3.16
  105. GDate 3.16
  106. GEcho 3.16
  107. UPX 0.94
  108. gdbgo32.zip contains the GNU Debugger 4.18 with pascal support for Go32V2
  109. w3209914.zip specific:
  110. ----------------------
  111. basew32.zip contains a Win32 compiler, runtime library and
  112. additional files
  113. asldw32.zip contains additional GNU utilities from MinGW32 which are
  114. necessary:
  115. AS 2.9.5 for Win32
  116. LD 2.9.5 for Win32
  117. AR 2.9.5 for Win32
  118. Strip 2.9.5 for Win32
  119. WindRes 2.9.5 for Win32
  120. DLLTool 2.9.5 for Win32
  121. utilw32.zip contains additional GNU utilities which might be useful to
  122. compile the run time library:
  123. Make 3.76.1
  124. RM 3.16
  125. CP 3.16
  126. MV 3.16
  127. PWD 3.16
  128. GInstall 3.16
  129. GDate 3.16
  130. GEcho 3.16
  131. UPX 0.94
  132. gdbw32.zip contains the GNU Debugger 4.18 with pascal support for Win32
  133. os209914.zip specific:
  134. ----------------------
  135. baseemx.zip contains an EMX (OS/2 and DOS) compiler, runtime library and
  136. additional files
  137. asldemx.zip contains additional GNU utilities which are necessary:
  138. AS 2.9.1 for EMX
  139. LD for EMX
  140. EMXBIND 0.9d
  141. AR 2.9.1 for EMX
  142. NM 2.9.1 for EMX
  143. GASP 1.2 for EMX
  144. ObjCopy 2.9.1 for EMX
  145. ObjDump 2.9.1 for EMX
  146. Strip 2.9.1 for EMX
  147. RANLIB 2.9.1 for EMX
  148. utilemx.zip contains additional GNU utilities which might be useful to
  149. compile the run time library:
  150. Make 3.76.1
  151. RM 3.13
  152. CP 3.13
  153. MV 3.13
  154. ChMod 3.13
  155. PWD 1.12
  156. Install 3.13
  157. Date 1.12
  158. Echo 1.12
  159. gdbemx.zip contains the GNU Debugger 4.16 for EMX,
  160. PMGDB (Presentation Manager add-on for GDB) and GPROF 2.9.1
  161. common files in dos09914.zip, w3209914.zip and os209914.zip:
  162. ------------------------------------------------------------
  163. demo.zip contains some demo files
  164. doc-pdf.zip contains the documentation in PDF format
  165. install.exe installation program
  166. install.dat installation data
  167. readme.txt this readme file
  168. whatsnew.txt what's been changed
  169. Optional source package src09914.zip:
  170. -------------------------------------
  171. basesrc.zip contains the basic Makefiles needed for the source tree
  172. compsrc.zip contains the compiler sources
  173. rtlsrc.zip contains the runtime library sources
  174. fclsrc.zip contains the Free Component Library sources
  175. apisrc.zip contains the API sources
  176. pkgssrc contains the packages (various units) sources
  177. utilssrc.zip contains the Utilities sources
  178. instsrc.zip contains the installer sources
  179. docsrc.zip contains the TeX sources of the doc
  180. ****************************************************************************
  181. * Documentation
  182. ****************************************************************************
  183. The documentation is available as HTML pages, PDF, PS, and text although the
  184. recommended format is pdf. These are all available in ftp... /docs/...
  185. NB that there is at present no FPC specific documentation for the Win32
  186. system functions. There is a note in the ftp /doc explaining where
  187. the MS help file for this can be obtained.
  188. ****************************************************************************
  189. * Suggestions, Help, Bug reporting, snapshots, ...
  190. ****************************************************************************
  191. Suggestions, Help ...
  192. ---------------------
  193. e-mail: [email protected] (bugs, developer related qs)
  194. e-mail: [email protected] (general pascal related qs)
  195. Both these adresses are for mailing lists. If you're not subscribed,
  196. be sure to mention this fact when sending questions to these lists,
  197. so that people sending answers know about it and send you a copy.
  198. Information about available lists and subscription can be found
  199. on http://lists.freepascal.org/mailman/listinfo
  200. www: http://www.freepascal.org
  201. ftp: ftp.freepascal.org/fpc
  202. (several mirrors exist, see website for links)
  203. Additional information about mailing lists, news, future plans etc.
  204. can be found on the web site.
  205. SNAPSHOTS & SOURCES
  206. -------------------
  207. One of the features of FPC is the snapshots. These are made daily or weekly
  208. from the developers' latest versions of the source. Snapshots are available
  209. for the GO32v2, Win32, OS/2 and Linux versions of the compiler/rtl. Snapshots
  210. are also available for the go32v2 & Win32 IDEs, and for FV, FCL, GTK and
  211. utils for GO32v2 and Win32. The latest snapshots are in: ftp... /fpc/snapshot/
  212. in appropriately named .zip/tar files.
  213. You will also normally find in the snapshot archive file a readme, with
  214. a note about the latest included changes. It is quite common, tho' doesn't
  215. always happen, that when a bug is reported it is fixed and a fixed version
  216. can be obtained the NEXT day in the appropriate snapshot.... yes really!
  217. Also on the ftp site you'll find a /dist directory, with the latest
  218. distributed releases, a /docs directory, and a /source directory, in
  219. which every night at about 0100 GMT the latest source generated by the
  220. developers during the day & evening before is exported from CVS
  221. into ZIP files eg compiler.zip, rtl.zip, base.zip etc.
  222. Making your own snapshots
  223. -------------------------
  224. By downloading the /source files (makefiles are included)
  225. it is possible to to make your own version of the fpc compiler/rtl
  226. and to modify it. You are of course free to do this
  227. so long as you observe the licence conditions. In order to make the
  228. compiler/rtl & ides in a resonable time (eg <30 minutes) you'll need at least
  229. 32M of physical memory (64M is better) memory and at least a 200 Mhx processor
  230. and at least 20 Mbytes of free disk space. You'll also need
  231. some knowledge of making files & programming... it is not
  232. difficult but it isn't easy either!
  233. REPORTING BUGS
  234. ----------------
  235. If you find a bug in the released version, you may want to try a snapshot
  236. (see SNAPSHOTS above) to see if it has been fixed before reporting it to
  237. the fpc-devel mailing list.
  238. If you find a fault or 'feature' in a release, please report it
  239. to the fpc-devel mailing list. PLEASE SEND ALSO A SMALL EXTRACT OF THE SOURCE
  240. CODE which caused the problem, and state the version eg Win32, GO32v2,
  241. and the date of the compiler etc on which you noticed the problem & any other
  242. useful info so the developers can reproduce the problem, otherwise they may
  243. not be willing/able to fix it.
  244. ****************************************************************************
  245. * License
  246. ****************************************************************************
  247. The programs and sources come under the GPL, for more informations read
  248. the file COPYING. Additional informations about the runtime library license
  249. are found in COPYING.FPC. Some utilities and programs come under the license
  250. described in COPYING.DJ or COPYING.EMX
  251. NOTE: OS/2 version of the installer uses the library UNZIP32.DLL from
  252. Info-ZIP. Info-ZIP's software (Zip, UnZip and related utilities)
  253. is free and can be obtained as source code or executables from
  254. Internet/WWW sites, including http://www.cdrom.com/pub/infozip/ .