Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2015-08

FPC 3.0.0-rc1 release

30 messages · 15 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Joost van der Sluis

Hello

We have placed the first release candidate of the Free Pascal Compiler version 3.0.0 on our ftp servers.

You can help improve the upcoming 3.0.0 release by downloading and testing this release. If you want you can report what you have done here: http://wiki.freepascal.org/Testers_3.0.0

New features are listed at
http://wiki.freepascal.org/FPC_New_Features_3.0

Changes that may break backwards compatibility are documented at http://wiki.freepascal.org/User_Changes_3.0.0

Issues with this release candidate that we already know of are listed in the wiki: http://wiki.freepascal.org/Issues_3.0.0

A preview of the 3.0.0 docs is available at
http://www.freepascal.org/docs-html/3.0.0/

Downloads are available at:
* ftp://freepascal.stack.nl/pub/fpc/beta/3.0.0-rc1
* ftp://gd.tuwien.ac.at/languages/pascal/fpc/beta/3.0.0-rc1
* ftp://ftp.freepascal.org/pub/fpc/beta/3.0.0-rc1

Enjoy!

The Free Pascal Compiler Team

Free Pascal Compiler

Version 3.0.0-rc1

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

Please also read the platform specific README file, if it exists.

This package contains an advanced freeware 32-bit/64-bit/16-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.

News and changes related to this release are described in whatsnew.txt.

Free Pascal 3.0.0 is currently available for the following platforms:
- Linux-i386
- Linux-x86_64 (amd64)
- Linux-powerpc
- Linux-sparc
- Linux-ARM
- Win32-i386 (Win95/98/Me/XP/2000/2003/Vista/7 and WinNT)
- Win64-x86_64 (XP/Vista/2003)
- Wince-ARM (cross compiled from win32-i386)
- FreeBSD-i386
- FreeBSD-x86_64
- Mac OS X/Darwin for PowerPC (32 and 64 bit)
- Mac OS X/Darwin for Intel (32 and 64 bit)
- iOS, iPhoneSimulator
- OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation)
- GO32v2-i386

There are other platforms (like other BSD variants) which are more or less working, but there is currently no maintainer for them and thus we cannot provide adequate support. If you want to change this and create and maintain versions for other platforms and targets, feel free to contact us, e-mail addresses are listed below.

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

- high speed compiler
- fully 16, 32 or 64-bit code
- 32 bit compiler can be used on x86_64 Linux distributions to compile 32 bit applications
- language features:
- almost fully compatible with Borland Pascal and Borland Delphi
- ansi strings
- wide strings
- exception support
- RTTI support
- procedure overloading
- generics (experimental)
- operator overloading
- COM, CORBA and raw interfaces support
- dynamic array support
- variant support
- inlining
- code optimizer:
- peephole optimizer (80x86 only)
- jump optimizer
- 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)
- Watcom assembler (wasm)
- internal assembler for ultra fast object file generation
- can call external C code
- h2pas utility to convert .h files to Pascal units
- smart linking (also known as dead code stripping)
- support for the GNU debugger
- integrated development environment (disabled by default on Mac OS X)
- powerful user friendly Wordstar compatible multi file editor
- context sensitive help supports help files in HTML, Windows HLP and Borland TPH format.
- debugger on most platforms
- can create binaries running natively under both DOS and OS/2 (EMX version)
- no need for Linux distribution specific binaries, programs you write run on all distributions
- high quality documentation

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

i386, x86_64, PowerPC or Sparc processor
Win32:
- MS Windows NT/2000/2003/XP/Vista/7 (Win95, 98 and ME are not supported in FPC officially any longer).
- 16 MB RAM
OS/2:
- OS/2 Warp v3.0 with one of late fixpaks - FP 35 should be fine, OS/2 Warp v4.0 with FP 5 and above, WSeB, MCP or any eComStation version (OS/2 2.0/2.1 currently not supported, not even for compiled programs).
- Certain features (e.g. Unicode support in the RTL) require proper support
only available in later OS/2 versions (at least OS/2 Warp 4.0 FP14), otherwise the functionality may be limited (but the binaries still work even on the older versions, albeit with some limitations). Linux:
- system running a 2.4.x kernel
FreeBSD:
- There are separate releases for FreeBSD 7.x system or 8.x system. The code works on 6.x too. Older versions might need specific adaptations. Mac OS X:
- Mac OS X 10.4 and higher
Mac OS (classic)
- Mac OS 9.2 has been tested, should probably also work from 7.5.3 and up.

****************************************************************************
* Quick start - Win32
****************************************************************************

Download the distribution package (fpc-3.0.0.i386-win32.exe) and run it
- it is a self-extracting installer, so just follow the instructions to install it. The installer should set the PATH environment variable as appropriate.

To test the compiler, change to the demo\texts directory of the FPC tree and type on the command line:
fpc hello
hello

****************************************************************************
* Quick start - DOS
****************************************************************************

Download distribution archive (dos300.zip for GO32v2) and unzip it into a temporary directory.

Start the install program INSTALL.EXE and follow the instructions.

Don't forget to set PATH as mentioned by the install program. If running under plain DOS, this can be done by opening file named AUTOEXEC.BAT located in the root directory of your boot drive (usually C:\) with a plain text editor (like EDIT.COM), extending the line starting with "set PATH=" (case insensitive) with path to newly installed binaries (installation root as selected in the installation program appended with "\BIN\GO32v2") and save it.

To test the compiler, change to the demo\texts directory of the FPC tree and type
fpc hello
hello

****************************************************************************
* Quick start - OS/2 / eComStation
****************************************************************************

Download distribution archive (os2300.zip for OS/2 or eComStation) and unzip it into a temporary directory.

Start the install program INSTALL.EXE and follow the instructions.

Don't forget to set PATH and LIBPATH as mentioned by the install program. This can be done by opening file named CONFIG.SYS located in the root directory of your boot drive (e.g. C:\) with a plain text editor (e.g. E.EXE), extending the lines starting with "set PATH=" and "LIBPATH=" (both are case insensitive) with path to newly installed binaries (installation root as selected in the installation program appended with "\BIN\OS2" for PATH and "\DLL" for LIBPATH) and save it again as a plain text file. Note that changes to LIBPATH require restart of your machine in order to come
into effect.

To test the compiler, change to the demo\texts directory of the FPC tree and type
fpc hello
hello

****************************************************************************
* Quick start - Linux/FreeBSD
****************************************************************************

Download fpc-3.0.0.<cpu>-<os>.tar and untar into a temporary directory.

Start the install script with ./install.sh and follow the instructions.

To test the compiler, change to the demo/texts directory of the FPC tree and type
fpc hello
hello

****************************************************************************
* Quick start - Mac OS X/Darwin
****************************************************************************

Xcode must be installed before FPC is installed. In case of Xcode 4.3 and later, additionally install the "Command Line Tools" by going to "Preferences" and then "Downloads".

There are two methods to install Free Pascal for Mac OS X.

1) Download and install the Mac OS X package (fpc-3.0.0.powerpc-macosx.dmg)

This gives you the Free Pascal Compiler and the Xcode integration kit.

2) Install fpc using fink

This gives you the Free Pascal Compiler, including all libraries, packages and units from its sources, including Free Vision and the IDE, which partly works using X11 xterm.

With method 1 follow the instructions to install the XCode integration kit at:

http://www.freepascal.org/xcode.html

Method 2 is mainly meant for using the compiler through the command line. Fink takes care of setting the PATH variable. You can also use the command line with Free Pascal installed using method 1. The main point is to change your PATH as described 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. To get an idea, how to do this, 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

When using Terminal.app add this to ".bash_profile", when using the X11 xterm add this to ".bashrc".
If these files do not exist yet in your home directory, you have to create them, for example with nano (or any other text editor):

nano .bash_profile

- 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 latest PDF version is available on ftp://ftp.freepascal.org/fpc/dist/docs-pdf/, other formats are available for download in the directory of the respective distributed release.

NB that there is at present no FPC specific documentation for the platform specific API (like Win32 system functions, etc.). There is a note in the ftp /doc explaining where MS help file documenting Win32 API can be obtained, other platforms (especially Unix-based ones) often come with this documentation included in system installation.

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

Suggestions, Help ...
---------------------
e-mail: (bugs, developer related questions)
e-mail: (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

Combined with Lazarus, an IDE for the Free Pascal Compiler: Web forum: http://forum.lazarus.freepascal.org (all questions) Wiki: http://wiki.freepascal.org

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 GO32v2, Win32, OS/2 and Linux versions. The latest snapshots are in: ftp://ftp.freepascal.org/fpc/snapshot/ in appropriately named .zip/tar files.

You will also normally find in the snapshot archive file a readme, with a note about the latest included changes. It is quite common, though it doesn't always happen, that when a bug is reported it is fixed and a fixed version can be obtained the NEXT day in the appropriate snapshot.... yes really!

Also on the ftp site you'll find a /dist directory, with the latest distributed releases, a /docs directory, and a /snapshot/<version>/source directory, in which every night at about 0100 GMT the latest source generated by the developers during the day & evening before is exported from SVN into ZIP file fpc.zip.

Making your own snapshots
-------------------------
By downloading the /source files (makefiles are included) it is possible to make your own version of the fpc compiler/rtl and to modify it. You are of course free to do this so as long as you observe the licence conditions. In order to make the compiler/rtl & IDE in a resonable time (eg <30 minutes) you'll need at least 32 MB of physical memory (64 MB is better), at least a 200 MHz processor and at least 100 MB of free disk space. You'll also need some knowledge of makefiles & programming... it is not difficult but it isn't easy either!

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 either using the bug reporting interface at http://bugs.freepascal.org, or to the fpc-devel mailing list. PLEASE ALWAYS INCLUDE A COMPILABLE CODE FRAGMENT that can be used to reproduce the problem (or a link to larger archive if it cannot be reproduced with small example). Also state the FPC version, target platform (Win32, Linux, ...), operating system version (XP, Ubuntu 12.04, ...), the used compiler options and any other useful info so the developers can reproduce the problem. Otherwise they may not be 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.v2.

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

FPC for JVM comes with some third party tools which are convered by the following licenses:
- jasmin.jar comes under the license described in jasminli.txt
- bcel-6.0-SNAPSHOT.jar comes under the Apache 2.0 license, described by apache2.txt

Some of the licenses of the third party tools require to make the source available. If you cannot find the sources or information where to find them for a certain tool under such a license included into the FPC distribution, please contact us through the contact details given at http://www.freepascal.org/moreinfo.var and we will provide you the sources or information where to find them.

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

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.

License conditions for DPMI provider for GO32v2 version (CWSDPMI.EXE) can be found in cwsdpmi.txt, sources and/or binary updates may be downloaded from http://clio.rice.edu/cwsdpmi/.

The DOS version (go32v2) contains some binaries of DJGPP. You can obtain the full DJGPP package at: http://www.delorie.com/djgpp/

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.

Reply by email

silvioprog
to Joost van der Sluis
Joost van der Sluis wrote 467 lines
Hello We have placed the first release candidate of the Free Pascal Compiler version 3.0.0 on our ftp servers. You can help improve the upcoming 3.0.0 release by downloading and testing this release. If you want you can report what you have done here: http://wiki.freepascal.org/Testers_3.0.0 New features are listed at http://wiki.freepascal.org/FPC_New_Features_3.0 Changes that may break backwards compatibility are documented at http://wiki.freepascal.org/User_Changes_3.0.0 Issues with this release candidate that we already know of are listed in the wiki: http://wiki.freepascal.org/Issues_3.0.0 A preview of the 3.0.0 docs is available at http://www.freepascal.org/docs-html/3.0.0/ Downloads are available at: * ftp://freepascal.stack.nl/pub/fpc/beta/3.0.0-rc1 * ftp://gd.tuwien.ac.at/languages/pascal/fpc/beta/3.0.0-rc1 * ftp://ftp.freepascal.org/pub/fpc/beta/3.0.0-rc1 Enjoy! The Free Pascal Compiler Team Free Pascal Compiler Version 3.0.0-rc1 **************************************************************************** * Introduction **************************************************************************** Please also read the platform specific README file, if it exists. This package contains an advanced freeware 32-bit/64-bit/16-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. News and changes related to this release are described in whatsnew.txt. Free Pascal 3.0.0 is currently available for the following platforms: - Linux-i386 - Linux-x86_64 (amd64) - Linux-powerpc - Linux-sparc - Linux-ARM - Win32-i386 (Win95/98/Me/XP/2000/2003/Vista/7 and WinNT) - Win64-x86_64 (XP/Vista/2003) - Wince-ARM (cross compiled from win32-i386) - FreeBSD-i386 - FreeBSD-x86_64 - Mac OS X/Darwin for PowerPC (32 and 64 bit) - Mac OS X/Darwin for Intel (32 and 64 bit) - iOS, iPhoneSimulator - OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation) - GO32v2-i386 There are other platforms (like other BSD variants) which are more or less working, but there is currently no maintainer for them and thus we cannot provide adequate support. If you want to change this and create and maintain versions for other platforms and targets, feel free to contact us, e-mail addresses are listed below. **************************************************************************** * Features **************************************************************************** - high speed compiler - fully 16, 32 or 64-bit code - 32 bit compiler can be used on x86_64 Linux distributions to compile 32 bit applications - language features: - almost fully compatible with Borland Pascal and Borland Delphi - ansi strings - wide strings - exception support - RTTI support - procedure overloading - generics (experimental) - operator overloading - COM, CORBA and raw interfaces support - dynamic array support - variant support - inlining - code optimizer: - peephole optimizer (80x86 only) - jump optimizer - 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) - Watcom assembler (wasm) - internal assembler for ultra fast object file generation - can call external C code - h2pas utility to convert .h files to Pascal units - smart linking (also known as dead code stripping) - support for the GNU debugger - integrated development environment (disabled by default on Mac OS X) - powerful user friendly Wordstar compatible multi file editor - context sensitive help supports help files in HTML, Windows HLP and Borland TPH format. - debugger on most platforms - can create binaries running natively under both DOS and OS/2 (EMX version) - no need for Linux distribution specific binaries, programs you write run on all distributions - high quality documentation **************************************************************************** * Minimum requirements **************************************************************************** i386, x86_64, PowerPC or Sparc processor Win32: - MS Windows NT/2000/2003/XP/Vista/7 (Win95, 98 and ME are not supported in FPC officially any longer). - 16 MB RAM OS/2: - OS/2 Warp v3.0 with one of late fixpaks - FP 35 should be fine, OS/2 Warp v4.0 with FP 5 and above, WSeB, MCP or any eComStation version (OS/2 2.0/2.1 currently not supported, not even for compiled programs). - Certain features (e.g. Unicode support in the RTL) require proper support only available in later OS/2 versions (at least OS/2 Warp 4.0 FP14), otherwise the functionality may be limited (but the binaries still work even on the older versions, albeit with some limitations). Linux: - system running a 2.4.x kernel FreeBSD: - There are separate releases for FreeBSD 7.x system or 8.x system. The code works on 6.x too. Older versions might need specific adaptations. Mac OS X: - Mac OS X 10.4 and higher Mac OS (classic) - Mac OS 9.2 has been tested, should probably also work from 7.5.3 and up. **************************************************************************** * Quick start - Win32 **************************************************************************** Download the distribution package (fpc-3.0.0.i386-win32.exe) and run it - it is a self-extracting installer, so just follow the instructions to install it. The installer should set the PATH environment variable as appropriate. To test the compiler, change to the demo\texts directory of the FPC tree and type on the command line: fpc hello hello **************************************************************************** * Quick start - DOS **************************************************************************** Download distribution archive (dos300.zip for GO32v2) and unzip it into a temporary directory. Start the install program INSTALL.EXE and follow the instructions. Don't forget to set PATH as mentioned by the install program. If running under plain DOS, this can be done by opening file named AUTOEXEC.BAT located in the root directory of your boot drive (usually C:\) with a plain text editor (like EDIT.COM), extending the line starting with "set PATH=" (case insensitive) with path to newly installed binaries (installation root as selected in the installation program appended with "\BIN\GO32v2") and save it. To test the compiler, change to the demo\texts directory of the FPC tree and type fpc hello hello **************************************************************************** * Quick start - OS/2 / eComStation **************************************************************************** Download distribution archive (os2300.zip for OS/2 or eComStation) and unzip it into a temporary directory. Start the install program INSTALL.EXE and follow the instructions. Don't forget to set PATH and LIBPATH as mentioned by the install program. This can be done by opening file named CONFIG.SYS located in the root directory of your boot drive (e.g. C:\) with a plain text editor (e.g. E.EXE), extending the lines starting with "set PATH=" and "LIBPATH=" (both are case insensitive) with path to newly installed binaries (installation root as selected in the installation program appended with "\BIN\OS2" for PATH and "\DLL" for LIBPATH) and save it again as a plain text file. Note that changes to LIBPATH require restart of your machine in order to come into effect. To test the compiler, change to the demo\texts directory of the FPC tree and type fpc hello hello **************************************************************************** * Quick start - Linux/FreeBSD **************************************************************************** Download fpc-3.0.0.<cpu>-<os>.tar and untar into a temporary directory. Start the install script with ./install.sh and follow the instructions. To test the compiler, change to the demo/texts directory of the FPC tree and type fpc hello hello **************************************************************************** * Quick start - Mac OS X/Darwin **************************************************************************** Xcode must be installed before FPC is installed. In case of Xcode 4.3 and later, additionally install the "Command Line Tools" by going to "Preferences" and then "Downloads". There are two methods to install Free Pascal for Mac OS X. 1) Download and install the Mac OS X package (fpc-3.0.0.powerpc-macosx.dmg) This gives you the Free Pascal Compiler and the Xcode integration kit. 2) Install fpc using fink This gives you the Free Pascal Compiler, including all libraries, packages and units from its sources, including Free Vision and the IDE, which partly works using X11 xterm. With method 1 follow the instructions to install the XCode integration kit at: http://www.freepascal.org/xcode.html Method 2 is mainly meant for using the compiler through the command line. Fink takes care of setting the PATH variable. You can also use the command line with Free Pascal installed using method 1. The main point is to change your PATH as described 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. To get an idea, how to do this, 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 When using Terminal.app add this to ".bash_profile", when using the X11 xterm add this to ".bashrc". If these files do not exist yet in your home directory, you have to create them, for example with nano (or any other text editor): nano .bash_profile - 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 latest PDF version is available on ftp://ftp.freepascal.org/fpc/dist/docs-pdf/, other formats are available for download in the directory of the respective distributed release. NB that there is at present no FPC specific documentation for the platform specific API (like Win32 system functions, etc.). There is a note in the ftp /doc explaining where MS help file documenting Win32 API can be obtained, other platforms (especially Unix-based ones) often come with this documentation included in system installation. **************************************************************************** * Suggestions, Help, Bug reporting, snapshots, ... **************************************************************************** Suggestions, Help ... --------------------- e-mail: (bugs, developer related questions) e-mail: (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 Combined with Lazarus, an IDE for the Free Pascal Compiler: Web forum: http://forum.lazarus.freepascal.org (all questions) Wiki: http://wiki.freepascal.org 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 GO32v2, Win32, OS/2 and Linux versions. The latest snapshots are in: ftp://ftp.freepascal.org/fpc/snapshot/ in appropriately named .zip/tar files. You will also normally find in the snapshot archive file a readme, with a note about the latest included changes. It is quite common, though it doesn't always happen, that when a bug is reported it is fixed and a fixed version can be obtained the NEXT day in the appropriate snapshot.... yes really! Also on the ftp site you'll find a /dist directory, with the latest distributed releases, a /docs directory, and a /snapshot/<version>/source directory, in which every night at about 0100 GMT the latest source generated by the developers during the day & evening before is exported from SVN into ZIP file fpc.zip. Making your own snapshots ------------------------- By downloading the /source files (makefiles are included) it is possible to make your own version of the fpc compiler/rtl and to modify it. You are of course free to do this so as long as you observe the licence conditions. In order to make the compiler/rtl & IDE in a resonable time (eg <30 minutes) you'll need at least 32 MB of physical memory (64 MB is better), at least a 200 MHz processor and at least 100 MB of free disk space. You'll also need some knowledge of makefiles & programming... it is not difficult but it isn't easy either! 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 either using the bug reporting interface at http://bugs.freepascal.org, or to the fpc-devel mailing list. PLEASE ALWAYS INCLUDE A COMPILABLE CODE FRAGMENT that can be used to reproduce the problem (or a link to larger archive if it cannot be reproduced with small example). Also state the FPC version, target platform (Win32, Linux, ...), operating system version (XP, Ubuntu 12.04, ...), the used compiler options and any other useful info so the developers can reproduce the problem. Otherwise they may not be 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.v2. Some specific utilities and programs come under the license described in COPYING.v3, COPYING.DJ, COPYING.EMX, COPYING.RSX and licensez.ip. FPC for JVM comes with some third party tools which are convered by the following licenses: - jasmin.jar comes under the license described in jasminli.txt - bcel-6.0-SNAPSHOT.jar comes under the Apache 2.0 license, described by apache2.txt Some of the licenses of the third party tools require to make the source available. If you cannot find the sources or information where to find them for a certain tool under such a license included into the FPC distribution, please contact us through the contact details given at http://www.freepascal.org/moreinfo.var and we will provide you the sources or information where to find them. The documentation, unless otherwise noted, is distributed as free text, and is distributed under the GNU Library General Public License as found in file COPYING. 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. License conditions for DPMI provider for GO32v2 version (CWSDPMI.EXE) can be found in cwsdpmi.txt, sources and/or binary updates may be downloaded from http://clio.rice.edu/cwsdpmi/. The DOS version (go32v2) contains some binaries of DJGPP. You can obtain the full DJGPP package at: http://www.delorie.com/djgpp/ 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.l <http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel>

Wow!

This is the best news in this year!

\o/\o/\o/ Congratulations! \o/\o/\o/

Silvio Clécio

Reply by email

LacaK
to Joost van der Sluis: Hello We have placed the first release candidate of the Free Pascal Compiler version…
Show quoted text 10 lines
News and changes related to this release are described in whatsnew.txt. Free Pascal 3.0.0 is currently available for the following platforms: - Linux-i386 - Linux-x86_64 (amd64) - Linux-powerpc - Linux-sparc - Linux-ARM - Win32-i386 (Win95/98/Me/XP/2000/2003/Vista/7 and WinNT)

Here is mentioned Win95/98/Me

Show quoted text 21 lines
- Win64-x86_64 (XP/Vista/2003) - Wince-ARM (cross compiled from win32-i386) - FreeBSD-i386 - FreeBSD-x86_64 - Mac OS X/Darwin for PowerPC (32 and 64 bit) - Mac OS X/Darwin for Intel (32 and 64 bit) - iOS, iPhoneSimulator - OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation) - GO32v2-i386 **************************************************************************** * Minimum requirements **************************************************************************** i386, x86_64, PowerPC or Sparc processor Win32: - MS Windows NT/2000/2003/XP/Vista/7 (Win95, 98 and ME are not supported in FPC officially any longer).

But here is Win95,98,Me explicitly excluded.
I think, that at first place it should be also excluded.

-Laco.

Reply by email

Marco van de Voort
to LacaK

In our previous episode, LacaK said:

Show quoted text 6 lines
> i386, x86_64, PowerPC or Sparc processor > Win32: > - MS Windows NT/2000/2003/XP/Vista/7 (Win95, 98 and ME are not supported > in FPC officially any longer). But here is Win95,98,Me explicitly excluded. I think, that at first place it should be also excluded.

Yup, and remove w2k and NT(4) too. While they might work, they are no longer formally supported and tested afaik.

Reply by email

Florian Klaempfl
to Marco van de Voort
Marco van de Voort wrote 10 lines
In our previous episode, LacaK said: >> i386, x86_64, PowerPC or Sparc processor >> Win32: >> - MS Windows NT/2000/2003/XP/Vista/7 (Win95, 98 and ME are not supported >> in FPC officially any longer). > But here is Win95,98,Me explicitly excluded. > I think, that at first place it should be also excluded. Yup, and remove w2k and NT(4) too. While they might work, they are no longer formally supported and tested afaik.

Question is: if the first is the target system and the latter the host system?

Reply by email

Sven Barth
to Kazantsev Alexey: On Tue, 25 Aug 2015 19:50:50 +0400, Joost van der Sluis This bugs is unworthy to be…
"Kazantsev Alexey" wrote 14 lines
On Tue, 25 Aug 2015 19:50:50 +0400, Joost van der Sluis wrote: > We have placed the first release candidate of the Free Pascal Compiler > version 3.0.0 on our ftp servers. This bugs is unworthy to be released in 3.0 :) http://bugs.freepascal.org/view.php?id=27349 http://bugs.freepascal.org/view.php?id=26982

These are not even fixed in trunk, so how do you expect them to be fixed in the RC? Also we have other bugs as it is and if we'd postpone a release until all are fixed you'd never get a release.

Regards,
Sven

Reply by email

Marco van de Voort
to Florian Klaempfl: Question is: if the first is the target system and the latter the host system?

In our previous episode, Florian Klaempfl said:

Show quoted text 11 lines
>>> Win32: >>> - MS Windows NT/2000/2003/XP/Vista/7 (Win95, 98 and ME are not supported >>> in FPC officially any longer). >> But here is Win95,98,Me explicitly excluded. >> I think, that at first place it should be also excluded. > > Yup, and remove w2k and NT(4) too. While they might work, they are no longer > formally supported and tested afaik. Question is: if the first is the target system and the latter the host system?

Former, latter refer to what?

Since we are self-hosting not being a target precludes being an host, and being target only is not well, since the RTL probably uses calls from after NT4 and w2k.

(unicode and threading/synchronization I would guess)

Point is that it isn't tested even occasionally, so I would not guarantee anything in a release manifest. Maybe subsets work, but maybe not (if some newer function is always linked in)

Reply by email

Frank Grotelueschen
to Florian Klaempfl: Question is: if the first is the target system and the latter the host system?
Florian Klaempfl wrote
Am 26.08.2015 um 08:45 schrieb Marco van de Voort:

..

Show quoted text 6 lines
> Yup, and remove w2k and NT(4) too. While they might work, they are no longer > formally supported and tested afaik. Question is: if the first is the target system and the latter the host system?

Please don't stop support for W2K. It was the first 'full useable' Windows based on NT-Kernel and is still used today.

Frank

Reply by email

Tomas Hajny
to Frank Grotelueschen
Frank Grotelueschen wrote 12 lines
At 10:42 26.08.2015, Florian Klaempfl wrote: >Am 26.08.2015 um 08:45 schrieb Marco van de Voort: .. > > Yup, and remove w2k and NT(4) too. While they might work, they > are no longer > > formally supported and tested afaik. > >Question is: if the first is the target system and the latter the host >system? Please don't stop support for W2K. It was the first 'full useable' Windows based on NT-Kernel and is still used today.

I don't think that the Win32 target maintainers would want to break working under W2K on purpose, but it's difficult to guarantee support for such a version if it isn't used and tested by the respective FPC developers regularly. On the other hand, anyone interested in support for such a version may decide to keep testing the trunk version and report any possible issues as soon as they arise, so that possible options for resolution may be discussed.

Tomas

Reply by email

Mark Morgan Lloyd
to Tomas Hajny
Tomas Hajny wrote 12 lines
On Thu, August 27, 2015 15:03, Frank Grotelueschen wrote: > Please don't stop support for W2K. It was the first 'full useable' Windows > based on NT-Kernel and is still used today. I don't think that the Win32 target maintainers would want to break working under W2K on purpose, but it's difficult to guarantee support for such a version if it isn't used and tested by the respective FPC developers regularly. On the other hand, anyone interested in support for such a version may decide to keep testing the trunk version and report any possible issues as soon as they arise, so that possible options for resolution may be discussed.

I still have a few NT4 app servers, and a very small number of W2K systems.

There are definite issues relating to Unicode support on NT4 which /could/ be fixed, but are probably not worth the effort since the NT4 APIs were basically not fully implemented by Microsoft. The bottom line with both NT4 and W2K is that ancillary software like installation programs are no longer viable.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Marco van de Voort
to Mark Morgan Lloyd

In our previous episode, Mark Morgan Lloyd said:

I still have a few NT4 app servers, and a very small number of W2K systems.

Possession That's not the important question, rather how much new software do you develop for those?

Reply by email

Mark Morgan Lloyd
to Marco van de Voort
Marco van de Voort wrote 5 lines
In our previous episode, Mark Morgan Lloyd said: > I still have a few NT4 app servers, and a very small number of W2K systems. Possession That's not the important question, rather how much new software do you develop for those?

I'd not expect to ship anything externally, since we run stuff here as a service to our customers. If I moved an app from Delphi to Lazarus and it didn't run on NT4, it would be unfortunate that I couldn't do a direct comparison but in view of the OS's age hardly surprising.

If I couldn't run an app on W2K I'd be slightly less happy, because as I understand it that is the last version of Windows which doesn't need to be registered/unlocked.

Our preferred target is unix, but there are some things which the windowing architecture of Windows make easier.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Maciej Izak
to Joost van der Sluis: Hello We have placed the first release candidate of the Free Pascal Compiler version…

2015-08-25 17:50 GMT+02:00 Joost van der Sluis :

You can help improve the upcoming 3.0.0 release by downloading and testing this release. If you want you can report what you have done here: http://wiki.freepascal.org/Testers_3.0.0

I have created short report in mentioned wiki page. Is very short ;) :

The report:

"Generics.Collections library don't working with FPC 3.0.0-rc1 release for Unix 64 bits (Internal error 2010021405). To solve this please merge rev. 30239 from FPC trunk."

Best regards, Maciej Izak

Reply by email

Sven Barth
to Maciej Izak
"Maciej Izak" wrote 13 lines
2015-08-25 17:50 GMT+02:00 Joost van der Sluis : > > You can help improve the upcoming 3.0.0 release by downloading and > testing this release. If you want you can report what you have done here: > http://wiki.freepascal.org/Testers_3.0.0 I have created short report in mentioned wiki page. Is very short ;) : The report: "Generics.Collections library don't working with FPC 3.0.0-rc1 release

for Unix 64 bits (Internal error 2010021405). To solve this please merge rev. 30239 from FPC trunk."

That one should indeed be merged :/

Regards,
Sven

Reply by email

John Marino
to Joost van der Sluis: Hello We have placed the first release candidate of the Free Pascal Compiler version…
Joost van der Sluis wrote 10 lines
Hello We have placed the first release candidate of the Free Pascal Compiler version 3.0.0 on our ftp servers. You can help improve the upcoming 3.0.0 release by downloading and testing this release. If you want you can report what you have done here: http://wiki.freepascal.org/Testers_3.0.0 [snip]

Hi, I'm retesting an diffset to put FPC 3.0 in FreeBSD ports. I notice the file is named 3.0.0-rc1 with a similar tag in github's svn mirror, but when I build it, the version is listed as 3.0.1

If other people are getting similar results (i.e. it's not just me) then I'd say that's highly confusing (and requires some additional patching on ports side because it's not matching expected defaults).

Can we get the advertised version and the build version to match?

John

Reply by email

John Marino
to Jonas Maebe
Jonas Maebe wrote 12 lines
On 29/08/15 11:16, John Marino wrote: > Hi, I'm retesting an diffset to put FPC 3.0 in FreeBSD ports. I notice > the file is named 3.0.0-rc1 with a similar tag in github's svn mirror, > but when I build it, the version is listed as 3.0.1 The version number in the tagged svn version is definitely 3.0.0rc1: http://svn.freepascal.org/svn/fpc/tags/release_3_0_0_rc1/compiler/version.pas Where exactly did you get the source code from?

https://github.com/fpc-svn/fpc/releases/tag/release_3_0_0_rc1

Okay, I'll look harder on my side. There's a good chance this is "just me".

Thanks,
John

Reply by email

Luiz Americo Pereira Camara
to Joost van der Sluis: Hello We have placed the first release candidate of the Free Pascal Compiler version…

2015-08-25 12:50 GMT-03:00 Joost van der Sluis :

Show quoted text 5 lines
Hello We have placed the first release candidate of the Free Pascal Compiler version 3.0.0 on our ftp servers.

You can help improve the upcoming 3.0.0 release by downloading and

testing this release. If you want you can report what you have done here: http://wiki.freepascal.org/Testers_3.0.0

Any specific reason why packages/googleapi is absent from 3.0?

Luiz

Reply by email

Michael Van Canneyt
to Luiz Americo Pereira Camara
Luiz Americo Pereira Camara wrote 14 lines
2015-08-25 12:50 GMT-03:00 Joost van der Sluis : > Hello > > We have placed the first release candidate of the Free Pascal Compiler > version 3.0.0 on our ftp servers. > You can help improve the upcoming 3.0.0 release by downloading and > testing this release. If you want you can report what you have done here: > http://wiki.freepascal.org/Testers_3.0.0 > > Any specific reason why packages/googleapi is absent from 3.0?

None specific. It was simply committed to SVN after the branch was made. In theory, there should be no danger to include it. Nothing else depends on it.

Michael.

Reply by email

Jonas Maebe
to Michael Van Canneyt
Michael Van Canneyt wrote 8 lines
On Sat, 29 Aug 2015, Luiz Americo Pereira Camara wrote: > Any specific reason why packages/googleapi is absent from 3.0? None specific. It was simply committed to SVN after the branch was made. In theory, there should be no danger to include it. Nothing else depends on it.

Adding a new package is really not done between a release candidate and the final release. And merging it can always introduce a new build or packaging issue, while the period between 3.0rc1 and 3.0 mainly serves to solve any such outstanding issues.

Jonas

Reply by email

Michael Van Canneyt
to Jonas Maebe
Jonas Maebe wrote 14 lines
On 30/08/15 09:35, Michael Van Canneyt wrote: > > On Sat, 29 Aug 2015, Luiz Americo Pereira Camara wrote: > >> Any specific reason why packages/googleapi is absent from 3.0? > > None specific. It was simply committed to SVN after the branch was made. > In theory, there should be no danger to include it. Nothing else depends > on it. Adding a new package is really not done between a release candidate and the final release. And merging it can always introduce a new build or packaging issue, while the period between 3.0rc1 and 3.0 mainly serves to solve any such outstanding issues.

I know. Which is why I didn't add it myself.
There is no technical reason to prevent it; just a matter of policy.

Michael.

Reply by email

Jonas Maebe
to Michael Van Canneyt
Michael Van Canneyt wrote 13 lines
On Sun, 30 Aug 2015, Jonas Maebe wrote: > On 30/08/15 09:35, Michael Van Canneyt wrote: >> > Adding a new package is really not done between a release candidate and > the final release. And merging it can always introduce a new build or > packaging issue, while the period between 3.0rc1 and 3.0 mainly serves > to solve any such outstanding issues. I know. Which is why I didn't add it myself. There is no technical reason to prevent it; just a matter of policy.

Building and packaging issues are pretty technical. Policy reasons don't appear out of thin air (unless you have a bad manager, who thinks he should invent his own policy rules just to "demonstrate" that he's useful).

Jonas

Reply by email

Luiz Americo Pereira Camara
to Michael Van Canneyt: None specific. It was simply committed to SVN after the branch was made. In theory, there…

2015-08-30 4:35 GMT-03:00 Michael Van Canneyt :

Show quoted text 23 lines
On Sat, 29 Aug 2015, Luiz Americo Pereira Camara wrote: 2015-08-25 12:50 GMT-03:00 Joost van der Sluis : > > Hello >> >> We have placed the first release candidate of the Free Pascal Compiler >> version 3.0.0 on our ftp servers. >> >> > You can help improve the upcoming 3.0.0 release by downloading and > >> testing this release. If you want you can report what you have done here: >> http://wiki.freepascal.org/Testers_3.0.0 >> >> >> Any specific reason why packages/googleapi is absent from 3.0? > None specific. It was simply committed to SVN after the branch was made.

packages/fcl-web/src/base/[restcodegen.pp, restbase.pp] were merged to 3.0 branch by marco after the last googleapi change.

Units in the bottom of stack like custcgi.pp and httpdefs.pp were also merged

Seems to me that was a matter of forgetting

If can be merged now is another history considering the Jonas messages...

Luiz

Reply by email

Marco van de Voort
to Luiz Americo Pereira Camara

In our previous episode, Luiz Americo Pereira Camara said:

Show quoted text 5 lines
packages/fcl-web/src/base/[restcodegen.pp, restbase.pp] were merged to 3.0 branch by marco after the last googleapi change. Units in the bottom of stack like custcgi.pp and httpdefs.pp were also merged

True, but that is well before rc1 was branched. And it was part of a batch of fcl-web updates.

I do such merges regularly, also between point releases(like between 2.6.2 and 2.6.4), the only exceptions are when existing functionality is totally broken (e.g. a new, incompatible mysql version comes out) without it.

Reply by email

Luiz Americo Pereira Camara
to Marco van de Voort
"Marco van de Voort" wrote
In our previous episode, Luiz Americo Pereira Camara said: > packages/fcl-web/src/base/[restcodegen.pp, restbase.pp] were merged to

3.0

Show quoted text 7 lines
> branch by marco after the last googleapi change. > > Units in the bottom of stack like custcgi.pp and httpdefs.pp were also > merged True, but that is well before rc1 was branched. And it was part of a batch of fcl-web updates.

No problem at all

Is not hard to get working

@Michael

Do you think is doable to copy googleapi code to a subdiretory of the Lazarus components/googleapi and compile conditionally only in fpc300?

Luiz

Reply by email

Michael Van Canneyt
to Luiz Americo Pereira Camara
Luiz Americo Pereira Camara wrote 21 lines
Em 30/08/2015 12:43, "Marco van de Voort" escreveu: > > In our previous episode, Luiz Americo Pereira Camara said: >> packages/fcl-web/src/base/[restcodegen.pp, restbase.pp] were merged to 3.0 >> branch by marco after the last googleapi change. >> >> Units in the bottom of stack like custcgi.pp and httpdefs.pp were also >> merged > > True, but that is well before rc1 was branched. And it was part of a batch > of fcl-web updates. No problem at all Is not hard to get working @Michael Do you think is doable to copy googleapi code to a subdiretory of the Lazarus components/googleapi and compile conditionally only in fpc300?

Doable: yes, definitely.

Desirable: That is for the lazarus team to decide...

Michael.

Reply by email