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 *not* a Unidata client and, consequently, are only interested
in UDAPE because it's used by XGKS, then you only need the "fortc" and
"udposix" components above.



			*** 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	alias [128.117.140.3]
    source:	pub/gmake.tar.Z
    binaries:	pub/gmake-mips.Z	for a DECstation
		pub/gmake-rs6000.Z	for an IBM RS/6000
		pub/gmake-sparc.Z	for a Sun SPARCstation
    doc:	pub/gmake-doc.tar.Z

Edit the file `../GNUmakemaster', 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}.

If you are *not* a Unidata client and, consequently, are only
interested in UDAPE because it's used by XGKS, then you should edit the
file GNUmakefile in this directory and define the variable XGKS_ONLY
near the top.  If you are a Unidata client, then you should leave
XGKS_ONLY commented-out.

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>
