\section{VMS}

\subsection{Linking}

On VMS, the PLplot library is split into several parts due to limitations
of the VMS linker when used with the VAXC compiler.  These are:
\begin{verbatim}
libplplotf1.obj
libplplotf2.obj
\end{verbatim}
for the single precision library.  You will need to link with these
as well as {\tt sys\$library:vaxcrtl/lib}.

You will also need to make a symbol definition to allow {\tt plrender} to
run as it is meant to, if not already set up (note: {\tt pltek} currently
doesn't work on VMS).  This is done in the following way:
\begin{verbatim}
$ plrender :== $public:plrender.exe
\end{verbatim}
if {\tt public} is the logical name for the directory containing {\tt
plrender}.  Then {\tt plrender} will run the same as on Unix systems.

The PLplot font files must be where the library can find them.
The font locating code looks in the following places for the fonts:
\begin{itemize}
\item	current directory
\item	lib:
\item	sys\$login:	(home directory)
\item	PLFONTDIR	(a makefile macro, set when PLplot is installed)
\end{itemize}
This is will not be a concern to the user if the fonts are located
in PLFONTDIR as set during installation (defaults to
{\tt sys\$sysroot:[sysfont.plplot]}). 

One difficulty the user may encounter when running PLplot under VMS arises
from ideosyncracies of the VAX C compiler.  Namely, binary files as created
by a VAX C program are always of record format STREAM\_LF, while the
customary binary file transfer protocols (ftp, kermit) insist on ``Fixed
length 512 byte records''.  Note that DECNET copy works on all file record
formats and does not suffer from this problem.  

Thus, any file created by PLplot under VMS must be transformed to the more
standard VMS binary file format (fixed length records) before doing anything
with it.  This includes printing or transfer to another system.  Contrawise,
when transferring a PLplot metafile to VMS, you must first convert it to
STREAM\_LF format before rendering it with {\tt plrender}.  There are
several small, public domain utilities available to do this conversion, for
example the {\tt bilf} utility that comes with the {\tt zoo} archive program
(by Rahul Dhesi).  A copy of {\tt bilf.c} is distributed with PLplot in the
sys/vms directory in case you do not have it already.

\subsection{Installation}

On VMS the build is a bit complicated although a makefile is provided
(using Todd Aven's MAKE/VMS, a PD make-like utility).  If you do not have
MAKE/VMS installed on your system, you can either: (a) get a copy, (b)
rewrite the given makefile to work with DEC's MMS, or (c) get a copy of the
object files from someone else.  For further information, see {\tt
[.sys.vms]makefile}. 

Note: the X window driver is NOT included.  I do not know what libraries to
link with or how common they are on vaxen in general (I've used at least
one vax which does not have any X libraries on it).  If you come up with a
way to deal with this (portably), feel free to send your changes. 
