
			INSTALL for vhclserv-0.3

Instructions for building vhclserv-0.3.1 from source:

0. Compilation Environment

Tools you will need before you can build:

0.a. a Unix machine.  We have built on Linux, SunOS and Irix.  It
should build on most any Unix machine with similar config changes.

0.b. The gcc compiler.  Recently we've been building and testing
with gcc-2.7.2.  Both gcc-2.5.8 and gcc-2.6.3 will probably still
work.  You will also need an equivalent copy of libg++.  The libg++
version numbers stay roughly in synch with the compiler version
numbers.  If you have gcc-2.5.8 you'd want libg++-2.5.*, if you have
gcc-2.6.3 you'd want libg++-2.6.3, etc..  

0.c. An installed copy of X11R4, X11R5, or X11R6 as distributed by MIT,
or equivalent (i.e., XFree86 for Linux, etc.)  If you use a vendor's X11
product, the product should be based on R4 or later and the product should
include imake and the config files. (If you're on a Sun you probably want
to avoid the OpenWindows versions.)

If imake is not in the same place as the other X11 binaries are or
anywhere else on your system, you can get the sources for imake from
the X11R5 or X11R6 distribution at several public ftp archives (such
as ftp.x.org).  

0.d. You need to obtain and build ivtools-0.6 (from
http://www.vectaport.com/ivtools/) according to its INSTALL
instructions before you can build vhclserv-0.3.

0.e. If you want to build the 2D and 3D map viewers that work with
vhclserv you will need to obtain ivmaps (home page:
http://www.vectaport.com/ivmaps/) and all its required packages. 

1. Creating and/or editing config/site.def.$CPU:

1.a. Set your CPU environment variable to one of the supported types
(grep config/arch.def for ArchitectureName to get a complete list or
try "make CPU" in the top directory).  Use "setenv CPU" for csh or
"export CPU=" for sh/bash.  LINUX, SUN4, and SGI are known to work.

1.b. Either edit the site.def.$CPU file if it exists, or determine
which existing site.def.* is closest to your needs and copy it into
site.def.$CPU.  ***Edit the parameters in this file as needed for your
facility.*** Especially verify that any pathname definitions are
correct for your environment.  

Set InstallRelative to YES if you want installation done within the
vhclserv-0.3 directory, or NO if you want them installed in the BinDir,
LibDir, and LibDataDir as described in the installation section below.

If you're building on Solaris use the SUN4 config file and uncomment
the #define of SystemV4.

If you have enabled the clippoly library in ivtools-0.6 you will also need
to enable it here by defining ClipPolyDir.

1.c. You may also want to take a look at local.def and gcc.def, but you
should be able to successfully build vhclserv by only changing
parameters in your copy of site.def.$CPU.  The top of local.def
defines macro preprocessor constants that are later used to initialize
make variables.  The bottom of local.def builds up pathnames to refer
to the libraries and important directories of this package.

2. Compiling vhclserv:

2.a. cd to the vhclserv-0.3/ directory.

2.b. Compile with something like the following command line, where
XCONFIGDIR is set to the location of your X11 config files:

	make World XCONFIGDIR=/usr/X11R6/lib/X11/config 

This command generates Makefiles hierarchically and builds everything.

3. Testing:

Each directory under vhclserv-0.3/src that begins in lower case (except
for "scripts") contains executables for each particular viewer in
$CPU/a.out.  "cd" to each particular directory and read the README files
that go into further detail on how to use the viewers.  vhclserv-0.3/src/utils
contains sub-directories of map utility/test programs.

4. Installation:

"make install" is supported for all the libraries and programs.

When InstallRelative is NO the binaries are installed as stripped
executables in BinDir and the libraries are installed in LibDir.

When InstallRelative is YES (the default in config/site.def.$CPU) ,
the binaries are installed in vhclserv-0.3/bin/$CPU and the libraries
are installed in vhclwrks-0.3/lib/$CPU.
