This is the readme file for the DIXI XtreemOS software package which currently contains the following:
 * DIXI (DIstributed Xtreemos Infrastructure):
   * service code generation tools,
   * staging and communication daemons for running services,

Please refer to QUICKSTART.txt for details on compiling and using the package.
Please refer to DIXI.txt for further instructions.

The folder Support/Documentation contains further details on DIXI.

PACKAGING
=========

Compile-time Dependencies
-------------------------

 * Sun Java JDK >= 1.6 
 
AEM node:
 * XtreemOS libcredstore (from WP2.1 PAM readme: 'Libcredstore is available in WP2.3 SVN. Checkout the project https://scm.gforge.inria.fr/svn/xtreemos/WP2.3/xosmd-vosupport/ and run "make install-credstore". Libcredstore needs libz-dev to build.')
 * libxml2 
   * sudo apt-get install libxml2
   * sudo apt-get install libxml2-dev
 
Run-time Dependencies
---------------------

AEM node:
 * kernel compiled with connector enabled 
    * Device Drivers / Connector - unified userspace marked with * in the menuconfig of the linux source
 * Ganglia monitoring installed
    * sudo apt-get install ganglia-monitor
 * XtreemOS PAM module support (WP2.1 software)
 
Build Options
-------------

Some options can be changed using ant properties, with the -D argument :
  ant -Doption=value

The following options are available :

 * CRExecMng_build : select what parts of CRExecMng should be built. The
   default is to build both linuxssi and blcr libraries, but you can
   disable one of them by setting CRExecMng_build to all_nossi or all_noblcr.
 * skip-build-c : set to true to only compile the Java code and none of the
   C code. 

Installation
------------

To install the built files, use the install ant target. The following targets
are available:

 * install-main : installs the main libraries needed to run xosd.
 * install-main-services : installs the core services user by all dixi services
 * install-xati : installs the libraries needed by the Java clients (XATI)
 * install-cxati : installs the libraries needed by the C clients (C-XATI)
 * install-cxati-devel : installs the headers and libraries needed for 
   developing C clients.
 * install : installs all of the above.
 
Some options can be changed using ant properties, with the -D argument :
  ant -Doption=value

The following options are available :
 * DEST : sets the target directory for installation. By default, the current
   directory will be used.
  $ ant -DDEST=/some/directory install
 * JARDepsDir : the location of the .jar files to be used as external 
   dependencies in the compiling. 

 
Package descriptions
--------------------

Package: dixi-main
Software pack: DIXI
Configurations: core, node, client
Description: The package contains the core classes needed to run DIXI, XATI and the services. 
Ant target: install-main
Dependencies: allocation-mng, External JARs. 

Package: dixi-services
Software pack: DIXI
Configurations: core, node, client
Description: The classes implementing the main services, needed by other services.
Ant target: install-main-services
Dependencies: dixi-main, external JARs.

Package: dixi-xati
Software pack: DIXI
Configurations: core, node, client
Ant target: install-xati
Description: XATI, the collection of API and client-side access points for running clients. It also contains sample client programs and scripts for running them.
Dependencies: dixi-main, allocation-mng

Package: dixi-cxati
Software pack: DIXI
Configurations: core, node, client
Ant target: install-cxati
Description: This package is similar to XATI, except that it provides the access point and API for programs written in C.

Package: dixi-debug
Software pack: DIXI
Configurations: core, node, client
Ant target: ?
Description: ?

Package: dixi-devel
Software pack: DIXI
Configurations: core, node, client
Ant target: install-cxati-devel
Description: This package contains the headers and libraries needed for 
   developing C clients.

