Node:Download, Next:Binary Distributions, Up:Installation

### Where and what to download

You can download the source code of the current GNU Pascal release from

    http://www.gnu-pascal.de/current/

and binaries for some platforms from

    http://www.gnu-pascal.de/binary/

The binary archive files are named `gpc-version.platform.extension` - for example `gpc-2.1.alpha-unknown-linux-gnu.tar.gz` for GPC version 2.1 on an Alpha workstation running the Linux kernel with GNU C Library, or `gpc-20000616.i586-pc-djgppv201.zip` for GPC version 20000616 on an i586 PC running DOS with DJGPP version 2.01.

After you have downloaded the correct archive file for your platform, please read the installation notes on how to install such a binary distribution.

If you are running Dos or MS Windows, you will need additional tools - see "What else to download and where" below.

#### Current snapshots

GNU Pascal is subject to steady development. Alpha and beta snapshots (source only, use at your own risk) can be found at:

    http://www.gnu-pascal.de/alpha/
    http://www.gnu-pascal.de/beta/

#### What else to download and where

When you are using GNU Pascal on a DOS system, you will need either the DJGPP or the EMX development environment (see below). On an OS/2 system, you will need EMX. On an MS Windows 95/98/NT system you will need either the CygWin or the mingw32 environment.

GNU Pascal uses the compiler back-end from the GNU Compiler Collection, GNU CC or GCC. If you want to compile GPC, you will need the source of GCC as well as the source of GPC itself. From the same place as GPC, please download GCC `2.8.1, 2.95.x or 3.2.1`. (It is also available from any GNU mirror; see http://www.gnu.org/software/gcc/.)

#### Libraries

For some of GPC's units, you will need some standard libraries. In particular:

Unit | Platform | Library
`CRT` | `Unix/terminal` | `ncurses >= 5.0` (1), (2)
`CRT` | `Unix/X11` | `PDCurses` (2)
`CRT` | `Dos, MS-Windows` | `PDCurses` (3)
`GMP` | `any` | `gmp`
`RegEx` | `any` | `rx`
(debugging) | `Unix, MS-Windows` | `ElectricFence` (4)

Notes:

(1) ncurses version 5.0 or newer is strongly recommended because older versions contain a bug that severely affects CRT programs.

(2) You can install both ncurses and PDCurses on a Unix system, and choose at compile time whether to generate a terminal or X11 version of your program.

(3) ncurses also runs under MS-Windows with CygWin (not mingw32, however), but doesn't appear to behave much differently from PDCurses on that platform.

(4) ElectricFence is not used by any unit, but can be used for debugging memory allocation bugs by simply linking it (see the accompanying documentation).

You can find those libraries on many places on the Net. Also, many GNU/Linux distributions, DJGPP mirrors and other OS distributions already contain some of the libraries. In any case, you can find the sources of the libraries (sometimes together with patches that you should apply before building if you choose to build from the sources) and binaries for some platforms in

    http://www.gnu-pascal.de/libs/

For more information and descriptions of these libraries, see Libraries.

#### DJGPP

DJGPP is available from any SimTel mirror in the `gnu/djgpp` subdirectory; for addresses look into the DJGPP FAQ. To use GNU Pascal you need at least

- the C library, `v2/djdev201.zip`, and
- `binutils` (assembler, etc.), `v2gnu/bnu270b.zip`.

We also recommend you to get:

- the `make` utility, `v2gnu/mak375b.zip`
- the GNU debugger, `v2gnu/gdb416b.zip`
- the DJGPP FAQ, `v2faq/faq211b.zip`
- the GRX graphics library, http://www.gnu.de/software/GRX/
- PENG, http://fjf.gnu.de/peng/, an integrated development environment, similar to BP's one, written in GNU Pascal, or
- RHIDE, `v2app/rhide.zip`, another integrated development environment, or
- DevPascal, http://www.bloodshed.net/devpascal.html, an integrated development environment for mingw32.

#### EMX

EMX is an environment for creating 32-bit applications for DOS and OS/2. It is available from:

    http://www.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/index.html

To develop EMX programs with GNU Pascal you need at least

- the EMX runtime package, `emxrt.zip`,
- the EMX development system, `emxdev*.zip`, and
- the GNU development tools, `gnudev*.zip`.

If your DOS box has DPMI (it does if you are using MS Windows or OS/2) you will also need RSX, available from the same sites as EMX in the subdirectory `rsxnt`.

The GNU development tools contain the GNU C compiler which is in fact not needed to use GNU Pascal. However, the C library is needed.

#### CygWin

CygWin is an environment which implements a POSIX layer under MS Windows, giving it large parts of the functionality of Unix. CygWin contains development tools such as an assembler, a linker, etc. GPC needs for operation. More information about CygWin can be found at

    http://cygwin.com

#### mingw32

The Minimalists' GNU Win32 environment, mingw32, allows a large number of Unix programs - including GPC and GCC - to run under MS Windows 95/98/NT using native MS libraries. mingw32 ressources can be found at

    http://www.mingw.org