Installation of wrapgen

This version of wrapgen is configured to run within the CONGEN molecular
modeling software. In that environment, there is an environment
variable, CGPLATFORM, which identifies the compilation environment.
Included with this software are a set of files containing makefile
macros for each of these environments. These files are named,
<platform>.make. The only macros from these files which are needed for
installing wrapgen are CC, CFLAGS, CPPFLAGS, LEX, YACC, and INSTALL.
They have the following meanings:

CC	  C compiler invocation.
CFLAGS	  Options to control the C compiler
CPPFLAGS  Flags to control the operation of the C preprocessor.
LEX	  Run lex, the lexical scanner generator.
YACC	  Run YACC (Yet Another Compiler Compiler). The version
	  in the CONGEN makefile is compatible with the standard
	  YACC and also with GNU bison using the -y switch.
INSTALL	  Berkeley install invocation.

The installation process on UNIX machines is as follows:

1) Construct the makefile from makefile.gen. If your machine is
included in one of the makefile macro files, just concatenate the
appropriate .make file with makefile.gen to make the makefile. If
your machine is not included, use the existing macro files as
a guide and see the section on New Implementations below.

2) Modify your makefile to reference the appropriate destination
directories: BIN for the installed binary, MAN for the man page,
and PSMAN for Postscript versions of the man page.

3) Issue the command, "make test", which will compile wrapgen
and test it. Outputs from the `diff' command are written to standard output,
and nothing should be seen. Executions of wrapgen will generate error codes
because the test inputs include syntax errors.

4) Issue the command, "make install", to install it.

5) Install the programs, fcpp and mkproto.  A set of shar file or a
tar file for fcpp is included with this distribution, and it contains
installation instructions and documentation. In addition, it contains
shar file or a tar file for mkproto. Although fcpp and mkproto are not
needed for compiling wrpagen, they will be needed for using it.

VMS installation

You will need MMS (the VMS equivalent of `make'), and you follow
the basic steps listed above using MMS. A description file, descrip.mms,
is included. The test target is called "test.dif", and making it will
generate Abort errors which are expected because of the syntax errors
tested in the input files.

New Implementations

If your machine is not in the set which have already been tested with
wrapgen, you will have to determine how Fortran procedures are named and how
character strings and other parameters are passed. If your machine
fits into the already implemented classes, then you must only
establish the correct configuration variables in your version of
`config.h' that your programs will use. If your machine does not fit
in the already implemented classes, you will need to modify wrapgen
itself. Please feel free to contact me for advice.

This version of wrapgen handles three classes of character string
passing from Fortran, VMS descriptors, Cray Unicos descriptors, and
the extra length parameter method common to the majority of
workstations. The two descriptor methods use a data structure which
contains the length and address of the the character string. The extra
length method incorporates additional parameters after the declared
parameters for the character string lengths. The configuration variables
which invoke the three classes are `vms', `unicos', and `ST_BY_EXTRA_LEN'.

There are three classes of Fortran procedure name processing, underscore
appending (invoked by the `APPEND_FOR' configuration variable), upper casing
the name (invoked by `unicos'), and direct naming which is invoked if
neither `APPEND_FOR' or `unicos' is specified.

Robert E. Bruccoleri
bruc@bms.com
