Algol68G Revision 1.0
---------------------

Algol68G - an Algol 68 interpreter. 

Algol68G is free software distributed under GNU GPL. This software is 
distributed in the hope that it will be useful, but without any warranty. 
The author of this software does not accept responsibility to anyone for the 
consequences of using it or for whether it serves any particular purpose or 
works at all.


BUILDING ALGOL68G

The distribution comes with a sample makefile for use with GNU/Linux and 
FreeBSD. It uses 'gcc' as default C compiler. Algol68G uses GNU plotutils 
(version 2.4.0 or compatible) for its graphics routines. The makefile checks
by default /usr/local/lib for shared library libplot.so to detect this package, 
if it is not detected then Algol68G compiles without graphics support.


A. GENERIC INSTALLATION

For a generic installation, Algol68G requires no configuration. 

(A.1)  Make the directory where the makefile is the present working directory.

(A.2)  Type 'make depend'.

(A.3a) If you do not want to install Algol68G for all users, type 
       'make all'. The executable 'a68g' will be put in the present working 
       directory.

(A.3b) If you want to install Algol68G for all users to use, type 
       'make install'. Default target directory for the executable 'a68g' is 
       /usr/local/bin. Installation can be undone by 'make uninstall'.

(A.3c) Note that in (A.3a,b) you can supply CPPFLAGS, CFLAGS and LDFLAGS,
       for instance 'make all CFLAGS="-O"' to optimise the code.

(A.4)  Type 'make clean' to remove binaries used for building Algol68G.
       As to remove all binaries and log files, type 'make distclean'.

(A.5)  A test suite of about 230 Algol 68 programs is included in the 
       distribution. Many of those programs are from the 'Mathematisch 
       Centrum Algol 68 Test Set', and explore many of the typical aspects 
       of Algol 68. The suite also contains some cases in which Algol68G 
       differs from Algol 68. If you want, you can run the test suite by 
       typing 'make check'. This will run in the background. Output will be 
       redirected to the file 'suite_result' in the present working directory.
       The distribution contains files with names 'suite_result_PLATFORM' that
       contain suite output generated on selected platforms.


B. CUSTOMISED INSTALLATION

For a 'customised' installation some configuration is required, that cannot 
be reliably automated. There are two configuration switches in file 
'source/a68g_config.h' that are set to default values that should work on 
GNU/Linux and FreeBSD in a generic installation. The switches control next two 
features: 

(B.1a) Algol68G can use 64-bit integer extensions, for example supported by
       gcc. Define the HAVE_INT_64 directive in file 'a68g_config.h'. Systems 
       running FreeBSD, OS/2 or MacOS X may need to disable this directive 
       for proper operation of Algol68G since on these platforms support for 
       64-bit integers may not be implemented properly.

(B.1b) If you have GNU plotutils on your system, you can define 
       HAVE_MODIFIABLE_X_TITLE in file 'a68g_config.h' if you have modifiable titles
       for X windows. Since GNU plotutils routines do not allow the name of a 
       X window to be changed, a small adaptation is required of plotutils 
       source file 'y_openpl.c'. This modified file comes with the Algol68G 
       distribution and can be used to rebuild GNU plotutils.

(B.2)  Follow instructions as for 'generic installation'.
