Greetings,

			*** INTRODUCTION ***

This directory and its sub-directories contain sources for a porting
package known as the UNIDATA Application Program Environment (or UDAPE).
This package has several components -- each in its own sub-directory.
The components are

    fortc	A preprocessor for writing Fortran-callable C
		functions in a platform-independent manner.

    misc	Support library containing miscellaneous functions.

    udposix	A set of header-files, programming conventions, and
		library functions for writing portable C-code in a
		subset of the union of Standard C and POSIX.  Code
		written using UDPOSIX contains few, if any, #ifdef's.

    udres	An application program interface (API) for obtaining 
		command-line arguments and/or resource-file specified
		parameters.  It works under both POSIX and VMS.

    udunits	An API for converting formated unit-specifications
		(e.g. "meters/sec") to and from a binary form and for
		performing unit arithmetic on the binary form.

If you are only interested in UDAPE because of XGKS, then you only
need the "fortc" and "udposix" components.



			*** INSTALLATION ***

Two major operating-systems are supported: UNIX and VMS.

If you are a VMS site, edit the file "descrip.mms" as appropriate.
Then type "mms all".  If all goes well, type "mms install".  Finally,
type "mms clean".  You may now skip the rest of the installation
instructions.

If you are a UNIX site, then you should know that Makefiles for UDAPE
have been written assuming GNU make(1).  Thus, you should have GNU
make(1) already installed on your platform.  The Unidata Program Center
(UPC) regrets any additional burden this places on you but sees no
reasonable alternative consistent with the desire for easy maintenance,
the plethora of differing make(1) implementations, and the lack of
Imake(1) experience and capability amongst many of the UPC's clients.
Fortunately, GNU make is powerful, flexible, portable,
freely-available, and externally maintained.  You may obtain GNU
make(1) via anonymous FTP:

	host:	unidata.ucar.edu	[128.117.140.3]
	file:	gmake.tar.Z

Edit the file "defs.gmk", changing the variable definitions in the first
half of the file to ones more appropriate for your platform.  Since this
file was designed to control much more than just UDAPE, there are
several variable definitions that you may safely ignore.  The following
variables, however, will probably need modification:

    OS		Version-qualified identifier of the operating-system.
		Set this in "defs.gmk", in an environment variable, or
		on the GNU make invocation-line (e.g. "gmake OS=aix_3.1
		...").

    CFLAGS	Options for the C compiler.

    FFLAGS	Options for the Fortran compiler.

    LIBTYPE	Type of library to create: "sharable" or "nonsharable".

    INSTROOT	Root directory for the installation procedure.
		Products will be installed in
		${INSTROOT}/{bin,etc,include,lib,man}.

    UMASK	Base file-protection for installed products.

If you are only interested in UDAPE because of XGKS, then you should
edit the file Makefile in this directory and define the variable
XGKS_ONLY near the top.

Now, build UDAPE by making "all" (remember to use GNU make).

If UDAPE builds successfully, then install it by making "install".

Finally, cleanup by making "clean".



			*** FEEDBACK ***

Comments on UDAPE are appreciated and should be sent to the following
address:

	support@unidata.ucar.edu



Regards,
Steve Emmerson		<support@unidata.ucar.edu>
