This page in English Ova stranica na hrvatskom
Home - About - News - FAQ - Install - Libraries - Support - Team - GNU - To Do - Resources
Downloads    -    Mailing list archives

Libraries you can use with GPC

This page is a direct extract from the GPC Manual. If you want to browse the manual, you can start at the top of the manual or at the counterpart of this page within the manual.

3.2.4 What additional libraries should I have?

You will need certain additional libraries when you compile some of the units. These can be found in the directory

Currently, there are the following libraries:

Arithmetic for integers, rationals and real numbers with arbitrary size and precision. Used by the GMP unit.
Regular expression matching and substitution. Used by the RegEx unit.
Screen handling. Used by the CRT unit. Depending on your system, you have the following choices:

Unix: You can compile terminal applications with ncurses and applications that run in an X11 window with PDCurses (though terminal applications can, of course, also run in an xterm under X11). ncurses is used by default. If you want to use PDCurses (a.k.a. XCurses), give the option -DX11 when compiling CRT.

Dos with DJGPP and MS-Windows with mingw: Only PDCurses is available and will be used by default.

MS-Windows with Cygwin: PDCurses and ncurses are available. PDCurses is used by default. If you want to use ncurses, give the option -DUSE_NCURSES when compiling CRT.

Other systems: Please see the READMEs and installation instructions of PDCurses and ncurses to find out which one(s) can be built on your system. See the conditionals at the end of and crtc.h (and change them if necessary) on which library is used by default.

Internationalization. Used by the Intl unit. On some systems, it is part of the system library (libc).
This library is not used by any GPC unit. It is a debugging tool to assist you in finding memory allocation bugs. To use it, just link it to your program, either on the command line (-lefence) or in the source code ({$L efence}) which you might want to put into an {$ifdef DEBUG} or similar since using libefence is only recommended for debugging.

The source code of the libraries is available in the main libs directory. Most libraries come with one or several patches which should be applied before compiling them.

Binaries for some platforms are available in the binary/platform subdirectories. If you compile the libraries for other platforms, be invited to make the binaries available to us for distribution on the web site.

There are also the following files:

This is a patch to enable ncurses programs to make use of the ability of Linux 2.2 and newer kernels to produce a block cursor when needed. The present patch can be installed without recompiling anything, just by copying some files into place. More details can be found in the README file included in this archive. The patch will not do any harm on older kernels. Please note that not only on Linux machines it is useful to install the patch. Installing them on any other machine will allow users who telnet in from a Linux console to profit from the block cursor capability. Besides, some Unix systems have installed older Linux terminfo entries or none at all, so it's a good thing, anyway, to give them a current version. The patch is included in the terminfo database of ncurses 5.0, so if you install ncurses 5.0 (source or binary), you don't need to get the patch separately. But you can install it on a system with an older ncurses version if you don't feel like upgrading ncurses altogether.
A little utility (extracted from util-linux-2.9i, but not Linux specific), needed for the configuration of the rx library. You need it only if you compile rx yourself (and if it's not already present on your system), not when using a rx binary.

Best Viewed With Any Browser
Valid HTML 4.0

Copyright © 1996-2005 GNU Pascal development team

Verbatim copying and distribution is permitted in any medium, provided that this notice and the disclaimer below are preserved.

This information is provided in the hope that it will be useful, but without any warranty. We disclaim any liability for the accuracy of this information.

We are not responsible for the contents of web pages referenced by this site.