-- @(#)INSTALL-OTSO	5.4 --

NAME
 OTSO-INSTALLATION document

DESCRIPTION
 This documentation describes how to configure, generate, and
 install the OTSO protocol development system.

 You may want to read over this entire document first, before trying
 any commands.  If you are brave, go for it !

 READ-ME-FIRST contains contact information for corresponding with the
 OTSO project at VTT/TEL.  Or use e-mail for questions, bugs, etc:
	OTSO@tel.vtt.fi


SYNOPSIS	e.g. installing OTSO on a Sun workstation with C++ 2.1 compiler
 
 % cp otso-public.tar.Z /usr/local/src/otso
 % cd /usr/local/src/otso
 % uncompress otso-public.tar.Z
 % tar xvf otso-public.tar

 % cd /usr/local/src/otso
 % make config-help
 % make config-sun-owc
 % make


DETAILED DESCRIPTION

 This is a description of how you can configure OTSO so that
 OTSO programs can be compiled and executed.  It is assumed
 that you are on a UNIX type system and have symbolic links
 available.  If you do not have symbolic links available, then
 use hard links (ln), or copy (cp) instead of 'ln -s' above.

 First change to the local directory where you will work on
 OTSO and create the OTSO hieararchy from an OTSO tar file:

 % cp otso-public.tar.Z /usr/local/src/otso
 % cd /usr/local/src/otso
 % uncompress otso-public.tar.Z
 % tar xvf otso-public.tar


EASY WAY TO CONFIGURE OTSO
---------------------------
 % cd /usr/local/src/otso
 % make config-help

 You should get a list of currently supported configurations (subject to 
 change):
   config-sun-owc	   # SUN (especially with ObjectWorks C++ 2.1 compiler)
   config-hpux		   # HPUX with HP C++ compiler

 You can also look at the bottom of /usr/local/src/otso/Makefile for the system
 that most closely matches yours (e.g. config-sun-suncc for C++ 2.0 etc.),
 and configure OTSO for your system.  Here is how to configure a Sun using 
 ObjectWorks C++ 2.1 compiler:

 % make config-sun-owc

 You may need to edit these files for new systems :
	
	/usr/local/src/otso/enviros/makes/env_simu.make
	/usr/local/src/otso/enviros/env*.h* 
	/usr/local/src/otso/enviros/env*.c*

 E.g. /usr/local/src/otso/enviros/makes/env_simu.make and 
 /usr/local/src/otso/enviros/envOTSO.h must be edited if you wish to 
 turn on or off compilation of the SIMULATING features.  After editing some
 env* files, remember to configure OTSO again (e.g. by 'make config-sun-owc').

 If your system is not listed in the root OTSO Makefile : 'make config-help',
 then you should configure by the files in /usr/local/src/otso/enviros by hand,
 and add your new configuration to the appropriate :
	otso/enviros/makes/<sysname>.make
 when it is complete.  The new <sysname>.make should then be copied to 
 otso/enviros/makes/system.make.

 /usr/local/src/otso/enviros contains all the environment/portability 
 (OS + Compiler) specific parts of OTSO.


COMPILING OTSO
-----------------------

 This is all you should need to do to compile OTSO:
   % cd /usr/local/src/otso
   % make

 This is all you should need to do to clean up the OTSO directories :
   % cd /usr/local/src/otso			#or any subdirectory
   % make clean

 For more information, see INTRO-OTSO.


Some Common Problems:
-----------------------

(1) Simulation - decide if you want simulation features or not (if you
    don't know what they are then you probably don't want to use
    them initially).   Make sure to edit both 
    /usr/local/src/otso/enviros/makes/env_simu.make and 
    /usr/local/src/otso/enviros/envOTSO.h to turn SIMULATION on or off.  See
    appropriate comments in these files.  You must have Simulation turned
    on in both or turned off in both, otherwise you will have problems.

(2) Your /bin/cc compiler or cpp explodes if you are using e.g. Cfront based
    C++ compilers.  Try using another C compiler or CPP inside your Cfront
    if one is available (e.g. SunC, gcc, etc.).  We used to have special
    HACK-Makefiles to handle these deficiencies, but they are not maintained
    anymore.

(3) G++ doesn't work yet.  
    OTSO used to compile with G++ (a long time ago) but there were some
    hard-to-fix/workaround bugs in G++, and it has not been a supported 
    compiler for OTSO in a long time.
    When G++ is current with Cfront 2.1 compilers (including
    libg++.a - especially the stream libary), it should be relatively easy to
    compile OTSO for use with G++). 


 Please contact OTSO@tel.vtt.fi if you have any problems or suggestions
 for the installation procedure.

