The following system variables should be set to compile 
all subprojects of the source tree:

XERCES_HOME - path to xerces headers. By default xerces headers installation 
directory, /usr/local/include, is used

XERCES_LIB - path to xerces libraries. By default /usr/local/lib is used

OCAML_HOME - path to ocaml libraries. By default ocaml installation directory,
/usr/local/lib/ocaml is used
 
The following variables should be set if --enable-mdlgen-all=yes

ODBCPP_HOME - path to ODBC home directory

ORACLE_HOME - path to ORACLE home directory 

Necessary software:

GTK+ 2.0 or higher (required),
Gnu Compiler or a compatible alternative (required) - gcc version 3.2 or higher,

ScenarioApp (required) - scenarioapp-0.5.tar.gz package,
Xerces (required) - xerces-c-src2_1_0.tar.gz package,
Ocaml (optional) - ocaml-3.07.tar.gz package,
Nessus scanner (optional) - libnasl-2.0.7.tar.gz, nessus-core-2.0.7.tar.gz, 
                            nessus-libraries-2.0.7.tar.gz and 
                            nessus-plugins-2.0.7.tar.gz packages.



Installation process (for bash; modify appropriately for csh/tcsh):

1. Installing Xerces library (required)

1.1. Extract sources from the xerces-c-src2_1_0.tar.gz.

1.2. Set environment variable XERCESCROOT

       export XERCESCROOT=<full path to xerces-c-src2_1_0>

1.3. Move to $XERCESCROOT/src/xercesc and run

       ./configure
       make

1.4. Add path $XERCESCROOT/lib to LD_LIBRARY_PATH environment variable.


2. Installing Ocaml library (optional)

2.1. Extract sources from ocaml-3.07.tar.gz

2.2. Move to ocaml top directory and follow instruction in INSTALL file:
run
      ./configure
      make world
      make opt

and optional

      make install               # to be superuser is required

3.   Installing Nessus network scanner (optional)

3.1 Extract sources from nessus-libraries-2.0.7.tar.gz;
move to nessus-libraries top directory and run

       ./configure
       make
       make install

3.2. Extract sources from libnasl-2.0.7.tar.gz;
move to libnasl top directory and run

       ./configure
       make
       make install

3.3. Extract sources from nessus-core-2.0.7.tar.gz;
move to nessus-core top directory and run

       ./configure
       make
       make install

3.4. Extract sources from nessus-plugins-2.0.7.tar.gz;
move to nessus- plugins top directory and run

       ./configure
       make
       make install



4. Installing ScenarioApp.

4.1. Extract sources from scenarioapp-0.5.tar.gz and 
     move to scenarioapp-0.5 top directory.

4.2. Set necessary environment variables

       export XERCES_HOME=$XERCESCROOT/src

       export XERCES_LIB=$XERCESCROOT/lib

and optionally (if ocaml is built but not installed or installed differently
than described above)

       export OCAML_HOME=<path to ocaml directory>

4.3. Run configuration script in the ScenarioApp directory:

    a) if ocaml is installed at step 2. run

         ./configure

    b) if there is no ocaml

         ./configure --enable-mdlgen-nodb

   If there is a need to build a debug version, then
   add a --enable-debug configuration option.

4.4. Run

       make
and
       make install        # must be superuser

or set environment variable 

  MDLGEN_COMPILER_DIR=<path to scenarioapp-0.5>/xml_comp




5. Running ScenarioApp application.

5.1. Set environment variable 
  PROMELA_GENERATOR_DIR=<path to scenarioapp-0.5 directory>/generator directory

5.2. (optional) if Nessus scanner is installed
   a) Run
          nessus-adduser

    to add new user and

          nessus-mkcert

    to do some configuration to the Nessus server. 
    This configuration should be done only once. 

   b) Run Nessus server:

           nessusd -D     # the command runs Nessus server as daemon

   c) To run Nessus client necessary to set some login information. 
    This information includes: host name or IP where the server is running 
    (usually "localhost"), port of the server host (usually "1241"), 
    user name and password (this information should be entered when a new user 
    is added using nessus-adduser). All this information can be entered when 
    Network component is loaded using View->Preferences dialog of the Network 
    window of the graph_view application.

5.3. Run
   a) If 'make install' was done at step 4.4.

          graph_view

   b) Otherwise

         ./graph_view

    from <path to scenarioapp-0.5 directory>/application directory.


Make sure the $XERCESCROOT/lib path is added to LD_LIBRARY_PATH and 
PROMELA_GENERATOR_DIR is set when you are running graph_view. 

