Browse Source

* updated for 1.9.0 release

florian 22 years ago
parent
commit
a0b936c245
2 changed files with 68 additions and 452 deletions
  1. 32 154
      install/doc/readme.txt
  2. 36 298
      install/doc/whatsnew.txt

+ 32 - 154
install/doc/readme.txt

@@ -1,33 +1,33 @@
 
                             Free Pascal Compiler
 
-                               Version 1.2.0
+                        Version 1.9.0 aka 2.0.0-Beta1
 
 
 ****************************************************************************
 * 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.
+*** WARNING *** WARNING *** WARNING ***
+
 This package contains a freeware 32-bit pascal compiler for 386+. The language
-and the runtime library are more or less compatible to TP 7.0. Some Delphi
-additions have also been implemented like classes, exceptions, ansistrings
-and rtti.
+and the runtime library are almost compatible with TP 7.0 and recent Delphi
+releases.
 
-Free Pascal is currently available for the following platforms:
-- DOS, via the DJ Delorie's GO32V2 Dos extenders
+Free Pascal 1.9.0 is currently available for the following platforms:
 - Linux (i386), both aout and elf
-- OS/2 & DOS, via the EMX extender
 - Win32 (Win32s, Win95/98/Me/XP/2000 and WinNT)
-- Sun Solaris i386
-- BeOS i386
-- QNX i386
 - FreeBSD i386
 
-Older version of the compiler (0.99.5) is also available on:
-- Commodore Amiga
-- Atari ST
-
-More platforms will be supported in the future.
+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 listened below.
 
 ****************************************************************************
 * Features
@@ -36,18 +36,21 @@ More platforms will be supported in the future.
 - high speed compiler
 - fully 32-bit code
 - language features:
-  - almost fully compatible with Borland Pascal
-  - partially compatible with Borland Delphi
+  - almost fully compatible with Borland Pascal and Borland Delphi
   - ansi strings
   - exception support
   - RTTI support
   - procedure overloading
   - operator overloading
+  - COM, CORBA and raw interfaces support
+  - dyn. array support
+  - variant support
 - code optimizer:
   - peephole optimizer
   - loading of variables into registers
   - assembler level dataflow analyzer
   - 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
@@ -58,45 +61,27 @@ More platforms will be supported in the future.
 - can call external C code
 - smartlinking
 - support for the GNU debugger
-- IDE (currently for GO32v2 and Win32 only, in beta testing phase)
+- IDE (currently for GO32v2, Linux and Win32 only, in beta testing phase)
 - can create binaries running natively under both DOS and OS/2 (EMX version)
 
 
 ****************************************************************************
-* Requirements (Intel version)
+* Requirements
 ****************************************************************************
 
 386 processor
-DOS (extender GO32v2):
- - DOS 3.3
- - 4 MB RAM (8+ MB recommended)
- - hard disk with free space of 8 MB
- - DPMI server (CWSDPMI is delivered in the go32v2 distribution)
 Win32:
  - Win95/98/Me/2000/XP or WinNT
  - 8 MB RAM (16+ MB recommended)
-OS/2 and DOS (extender EMX):
- - either DOS 5.0 and above or OS/2 v3.x and above (including eComStation;
-  OS/2 v2.1 might work at least in some cases, but is not officially
-  supported any more, OS/2 v2.0 will not run any FPC application using
-  units Dos or DosCalls - this includes the compiler itself)
- - 3 MB RAM (8+ MB recommended) for DOS
-  or 8 MB (12 or more MB recommended depending on OS version) for OS/2
- - EMX or RSX (for DPMI) runtime package (part of OS/2 distribution)
- - TZ variable in your environment (in your CONFIG.SYS at best);
-  you should normally have it there anyway, it may only be missing
-  on older OS/2 versions (<= 3.0)
-BeOS:
- - GNU Utilities and development tools pre-installed (as and ld)
- - BeOS 4.5 or later
-
+Linux:
+ - system running a 2.0.x kernel
 
 ****************************************************************************
 * Quick start
 ****************************************************************************
 
-Download dos106.zip (version for DOS) or w32106.zip (version for
-Win9x/NT) or os2106.zip (EMX version - for OS/2 and DOS) and unzip it
+Win32:
+Download w32190.zip and unzip it
 into a temporary directory.
 
 Start the install program INSTALL.EXE and follow the instructions.
@@ -105,117 +90,10 @@ Don't forget to set the path as mentioned by the install program.
 
 To test the compiler, change to the demo directory of the compiler
 and type
-        ppc386 hello
+        fpc hello
         hello
 
 
-****************************************************************************
-* The packages of the distribution
-****************************************************************************
-
-All standard packages contain a part that is specific for the target platform
-and a few files which are target independent. All files are also available
-as separate files to reduce file size if the default file is too big.
-
-dos106.zip specific:
-----------------------
-  basego32.zip    contains a DOS (Go32V2) compiler, runtime library and
-                  additional files
-  asldgo32.zip    contains additional GNU utilities which are necessary:
-      AS 2.9.1 for Go32V2
-      LD 2.9.1 for Go32V2
-      AR 2.8.1 for Go32V2
-      Strip 2.8.1 for Go32V2
-  makego32.zip    contains additional GNU utilities which might be useful to
-                  compile the run time library:
-      Make 3.79.1
-      RM 3.16
-      CP 3.16
-      MV 3.16
-      PWD 3.16
-      GInstall 3.16
-      GDate 3.16
-      GEcho 3.16
-      UPX 1.20
-  gdbgo32.zip     contains the GNU Debugger 4.18 with pascal support for Go32V2
-
-w32106.zip specific:
-----------------------
-  basew32.zip     contains a Win32 compiler, runtime library and
-                  additional files
-  asldw32.zip     contains additional GNU utilities from MinGW32 which are
-                  necessary:
-      AS 2.9.5 for Win32
-      LD 2.9.5 for Win32
-      AR 2.9.5 for Win32
-      Strip 2.9.5 for Win32
-      WindRes 2.9.5 for Win32
-      DLLTool 2.9.5 for Win32
-  makew32.zip     contains additional GNU utilities which might be useful to
-                  compile the run time library:
-      Make 3.79.1
-      RM 3.16
-      CP 3.16
-      MV 3.16
-      PWD 3.16
-      GInstall 3.16
-      GDate 3.16
-      GEcho 3.16
-      UPX 1.20
-  gdbw32.zip      contains the GNU Debugger 4.18 with pascal support for Win32
-
-os2106.zip specific:
-----------------------
-  baseemx.zip     contains an EMX (OS/2 and DOS) compiler, runtime library and
-                  additional files
-  asldemx.zip     contains additional GNU utilities which are necessary:
-      AS 2.9.1 for EMX
-      LD for EMX
-      EMXBIND 0.9d
-      AR 2.9.1 for EMX
-      NM 2.9.1 for EMX
-      GASP 1.2 for EMX
-      ObjCopy 2.9.1 for EMX
-      ObjDump 2.9.1 for EMX
-      Strip 2.9.1 for EMX
-      RANLIB 2.9.1 for EMX
-  makeemx.zip     contains additional GNU utilities which might be useful to
-                  compile the run time library:
-      Make 3.76.1
-      RM 3.13
-      CP 3.13
-      MV 3.13
-      ChMod 3.13
-      PWD 1.12
-      Install 3.13
-      Date 1.12
-      Echo 1.12
-      Diff 2.8
-  gdbemx.zip      contains the GNU Debugger 4.16 for EMX,
-                  PMGDB (Presentation Manager add-on for GDB) and GPROF 2.9.1
-
-common files in dos106.zip, w32106.zip and os2106.zip:
-------------------------------------------------------------
-  demo.zip        contains some demo files
-  doc-pdf.zip     contains the documentation in PDF format
-  doc-html.zip    contains the documentation in HTML format
-  install.exe     installation program
-  install.dat     installation data
-  readme.txt      this readme file
-  whatsnew.txt    what's been changed
-
-Optional source package src106.zip:
--------------------------------------
-  basesrc.zip     contains the basic Makefiles needed for the source tree
-  compsrc.zip     contains the compiler sources
-  rtlsrc.zip      contains the runtime library sources
-  fclsrc.zip      contains the Free Component Library sources
-  pkgssrc         contains the packages (various units) sources
-  utilssrc.zip    contains the Utilities sources
-  instsrc.zip     contains the installer sources
-  docsrc.zip      contains the TeX sources of the doc
-
-
 ****************************************************************************
 * Documentation
 ****************************************************************************
@@ -308,14 +186,14 @@ 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 
+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. 
+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)

+ 36 - 298
install/doc/whatsnew.txt

@@ -1,315 +1,53 @@
 
                             Free Pascal Compiler
 
-                               Version 1.0.4
+                        Version 1.9.0 aka 2.0.0-Beta1
 
 ******************************************************************************
-                             Whats New in 1.0.4
+                      Whats New in 1.9.0 aka 2.0.0-Beta1
 ******************************************************************************
 
 Compiler:
-  + Fpc executable
-  + Rangechecking for int64
-  + Better cardinal rangechecking
-  + Debugging support for classes
-  + FreeBSD and Linux define both UNIX
-  * XMM registers in assembler fixed
-  * Optimizer fixes
-  * Fixed some reported bugs
+  + dyn. arrays
+  + interfaces
+  + variants
+  + full widestring support
+  + default parameters
+  + cross name scope overloading
+  + support for the PowerPC, Sparc and ARM processor, installation packages will follow within the
+    next weeks
+  + new and more sophisticated register allocator
+  + inlining across units
+  + register calling conventions
+  + SSE and SSE2 support for inline assembler
+  + PIC code generation
+  + new language mode: "Mac Pascal"
+  + full boolean evaluation is now also available
+  * support of int64 integer constants
+  * improved delphi compatibility in -Sd mode
+  * a lot of bug fixes
+  * large parts of the compiler are rewritten to create a more stable,
+    portable and maintainable compiler
 
 RTL:
-  + keyboard, mouse and video units added (originally in API)
-  + Lot of FreeBSD updates
-  * FindFirst/FindClose fixes
-  * Termios updates for FreeBSD and Linux
-  * FExpand fixes
-  * TypInfo fixes
-  * Val(qword) works
+  + multithreading support
+  * completely rewritten unix runtime library
+  * improved delphi compatiblity
+  * significantly improved speed of exception related code
+  * prepared for big endian and 64 Bit CPUs
+  * a lot of bug fixes
 
 FCL:
-  * sstream example added
-  * fixed some missing .o and .a files
-
-Utils:
-  * fpcmake updates for freebsd
-  * ppufiles fix to allow / in filenames under go32v2/win32
+  + tdataset support
+  + html generator
+  + 64 Bit file handling
+  * a lot of bug fixes
 
 Docs:
-  + IDE documentation
-
-API:
-  - standalone API removed from distribution, units added to RTL
-
-
-******************************************************************************
-                             Whats New in 1.0.2
-******************************************************************************
-
-Compiler:
-  + memory requirements reduced a lot when creating smartlink libraries
-  + identical procedures or functions are now already found in the interface instead
-    of after parsing the implementation also
-  + overload directive parsing is now D5 compatible
-  + stop compiling if -S2 or -Sd is required and give a nicer error message
-  + don't allow wrong assemblers for targets (i.e. refuse as.exe for win32)
-  * fixed smartlinking for win32 imports
-  * some -Or and other optimizer fixes
-  * fixed some crashes with undeclared identifiers and inlined functions
-  * packenum fixes
-  * internal binary writer is now a lot faster when creating smartlink libraries
-    with a lot of files (like the windows unit)
-  * better targetdir support
-  * don't allow word = word like type definitions
-  * integer(char) typecast works now
-  * some other small reported bugs
-
-RTL:
-  + bsd port files
-  + sysutils more delphi compatible
-  + sysutils.syserrormessage added for platforms supporting it
-  * some graph fixes
-  * linux crt handles ctrl-c better
-  * win32 crt returns alt-<key> correct
-  * small int64 fixes
-  * paramstr(0) fix for linux 2.0 kernels
-  * go32v2 getenv made case insensitive
-  * lot of os2 updates
-
-
-******************************************************************************
-                             Whats New in 1.00
-******************************************************************************
-
-Compiler:
-  + -gl switch to automaticly load the lineinfo unit
-  + Lot of Delphi compatibility additions, especially when using -Sd
-  * Optimizer fixes, mainly register allocations needed for -Or
-  * int64/qword fixes
-  * RTTI fixes
-  * Smartlinking fixes for classes
-  * inline fixes (but still Beta)
-  * Exceptions generate more usefull backtraces which also support the
-    new lineinfo unit
-  * {$Packrecords C} fixes to be better C compatible
-  * operator should now work correctly when defined in other units
-    and locally and other fixes
-  * Better glibc 2.1.x support under linux
-  * Lot of other small bugfixes for the reported bugs
-
-RTL:
-  + lineinfo unit to display the file and line when a backtrace is
-    generated, this works for runtime errors, unhandled exceptions and
-    heaptrc unit (hint: use -ghl to easily detect and fix memory leaks)
-  * better precision when converting float to string
-  * Better exception support for Go32v2 without the need to load dpmiexcp
-  * Better Signal handling under linux for exception reporting
-  * Windows unit for win32 has now more delphi compatible declarations
-  * disksize/diskfree return now int64 so drives > 2GB work correctly
-  * lot of graph unit fixes, with generic mode support
-  * paramstr(0) under linux now returns the full executable instead of
-    the commandline
-  * heaptrc fixes for reallocmem
-  * other fixes reported by users
+  * adapted to reflect new language features
 
 IDE:
-  + don't allow wrong assemblers with specific targets
-  + default mode for which assembler to use
-  + Recompiling a program does now also use unsaved files still in the editor
-  * the support files are now placed in the same dir as fp.exe where they were expected
-
-Utils:
-  + postw32 to postprocess win32 executables to patch the stacksize
-  * h2pas is now better and also has a compact output mode with less
-    spaces and blank lines.
-  * fpcmake supports .so library creation and example installation
-
-Packages:
-  + opengl for win32
-  * fixed win32 gtk interface
-
-FCL:
-  + db support (TDataSet,TDatabase) for mysql
-  * idea fixes
-
-
-
-******************************************************************************
-                            Whats New in 0.99.14
-******************************************************************************
-
-Compiler:
-  + DLL creation fixed, it needs dlltool now
-  + .so creation for linux works also with classes
-  + Library writing works better, also linux library support
-  + better FPU code generation
-  + only one PPU is used per unit also when static, shared and smart linked
-  + assembler understands KNI instructions
-  + fail in class constructors works
-  + resourcestrings support
-  + gettext support for resourcestrings (localization)
-  + > < >= <= support for boolean
-  + checking for unused but assigned variables and private fields
-  * lot of RTTI fixes
-  * lot of property fixes
-  * pointer addition/substraction works like inc()/dec() (with the size
-    of the pointed type)
-  * assembler reader fixes so it works more like BASM
-  * exit in try...finally/except block works
-  * don't allow goto/label with exception blocks
-  * stabs debugging fixed for classes and result variable
-  * array constructor support
-  * initialization/finalization work also in default FPC mode
-  * assert works now also within $H+ mode
-  * lot of other fixes
-
-RTL:
-  + New graph unit for GO32v2, Win32, Linux
-  + Delphi style GetMem/Freemem/ReAllocMem which knows the size of
-    the allocated block itself. Specifying wrong size for freemem gives
-    now also a Runtime Error
-  + ports unit for both GO32v2 and OS/2, which contains the port[] support.
-    It's now compatible with Linux ports unit
-  + timezone support for linux
-  + primitive routines Compare[Byte,Word,Dword], Index[Byte,Word,Dword]
-  * better ioresult setting for GO32v2
-  * some pchar fixes in sysutils unit
-  * lot of RTTI fixes for typinfo
-  * ansistrings speedups
-  * some other small fixes
-
-Utils:
-  + fpcmake util to create a Makefile from Makefile.fpc
-  + delp util to delete all created files after compiling (exe, o, ppu)
-  + fprcp util for preprocessing win32 resource files
-  + data2inc util to convert data into .inc files
-  + binobj for binary to .o/.inc files, also with crypt, compression support
-  + ppufiles show all created files needed by a unit
-  + rstconv util to convert .rst files to gettext files
-  + plex,pyacc Pascal Lex/Yacc
-  * ppudump, ppufiles updated for new ppu version
-
-
-******************************************************************************
-                            Whats New in 0.99.12
-******************************************************************************
-
-Compiler:
-  + lot of ansistring fixes
-  + coff writer for go32v2,win32 with instant .a creation (BETA)
-  + working global browser
-  + new compiler directives (path and other cmdline switches)
-  + val,readln support range checking
-  + initialization/finalization support
-  + methodpointer support
-  + message support
-  * better intel,at&t parsers with mmx,3dnow support
-  * better unit dependency handling and recompiling
-  * static var fixes
-  * better addr() support
-  * lot of other fixes, too many to list here
-
-RTL:
-  + Internationalization suport in sysutils
-  + FileNameCaseSensitive boolean for go32v2,win32
-  * more precise str/val
-  * better val(),readln()
-  * io error handling much more like tp7
-  * small other fixes
-
-Utils:
-  + ptop to pretty print your sources
-  * beter ppudump
-
-
-******************************************************************************
-                            Whats New in 0.99.10
-******************************************************************************
-
-Compiler:
-  + better optimizer
-  + ansistring support
-  + array of const support for FormatStr
-  + automatic heaptrc unit including with the -gh option
-  + open strings ($P+) support
-  + DLL generation for Win32
-  + printf support for cdecl using array of const
-  * exceptions are finally working
-  * fixed some ppu problems
-  * fixed unit interdependency problems
-  * better range checking, also for enums
-  * size of objects without virtuals is now the same as tp7
-  * lot of fixes for the assembler readers
-  * more constant expression evalutations
-  * removed all memoryleaks
-  * almost all reported bugs are fixed
-
-RTL:
-  + heaptrc unit to detect memoryleaks and other problems with the heap
-  + graph unit works and some missing functions are added
-  * objects unit fully works
-  * more functions for the classes,sysutils unit
-
-Utils:
-  * ppudump updated for new ppu entries
-  * h2pas updated to write new cdecl declaration
-
-
-******************************************************************************
-                            Whats New in 0.99.8
-******************************************************************************
-
-Compiler:
-  + smartlinking support (-Cx)
-  + new ppu format which much more portable en extendible
-  + new scanner with better file position info
-  + constant evaluation like tp7 (trunc,round,hi,swap)
-  + rtti support
-  + exception support
-  + longbool,wordbool support
-  + enumerated packing support like delphi
-  + c variable support (-Sv)
-  + Win32 support (no export and resource support yet)
-  * optimizer switches changed to be easier to use
-  * lot of fixes for sets, also supporting dynamic creation
-  * working open array (sizeof,high)
-  * better filename handling for all platforms
-  * ability to list source lines in the assembler file
-  * some error messages changed to for better understanding
-  * better calling convention support, delphi compatible
-  * glibc2 (linux) support
-  * too many other small bugfixes and internal enhancements
-
-RTL:
-  + sysutils unit for objpas
-  + port[] array for go32v2
-  + graph unit for linux
-  + uniform objects unit for all platforms
-  + rtti support
-  + automatic Longfilename (LFN) support for go32v2
-  * go32 crt startup delay has been removed
-  * missing pchar support for some file functions (assign,rename)
-  * heapblocks support, which is much faster when allocating a lot
-    of small blocks (like objects)
-  * filerec/textrec is now uniform for all platforms (but not tp7 compatible)
-  * extended is the default floating point type
-  * lot of other fixes and small enhancements
-
-Utils:
-  + h2pas util to convert .h files to .pas file
-  + ppudump util replaces the old dumpppu
-  * mkdep is now much less strict and (* *) support
-
-
-******************************************************************************
-                            Whats New in 0.99.5
-******************************************************************************
-
-Mainly, bugs are fixed and some improvements are
-made in that release, besides that the following stuff is
-added:
- * compiler
-   - mem[] and absolute works now as expected (go32v2 target only)
-   - basic MMX support by the compiler (see docs for more infos)
- * runtime library
-   - better support of floating point types
+  * a lot of bug fixes
 
+Misc:
+  * improved cross compilation