
BUILDING CIAO
========================

* Supported platform:

  We have tried CIAO examples on Win32 using MSVC 6.0 and above and on
  Linux.

* Documentation:

  Various documents are available under $(CIAO_ROOT)/docs/
  Commments and suggestions for improving these documents are
  extremely welcome.

* Preparation - Compiling ACE and TAO:

    *************************************************

    There has been some big changes in MPC and
    a few "problems" are being sorted out before
    ACE/TAO switched to use MPC generated Makefile
    projects files exclusively.  CIAO only uses
    MPC.  MPC, however, assumes a slightly different
    directory structure than the stock, old ACE
    Makefile/project files.  Therefore, it is
    a bit adventurous to compile CIAO at this time
    of transition.  Here are some hints that you
    can try to make this work a bit easier.

    1. Make sure to add $ACE_ROOT/lib into your
       PATH, or LD_LIBRARY_PATH (before
       $ACE_ROOT/bin)

    2. Make sure you don't have old CIAO libraries
       DLL and so files) hanging around.

    3. If prefered, you can re-generate the Makefile,
       project files for all/core ACE/TAO libraries.
       (e.g., using $ACE_ROOT/TAO/TAOACE.mwc.)

    *************************************************

  CIAO depends on many CORBA features to function properly so you need
  to compile them first.  Here is a non-exhaustive list:

        ACEXML_Parser,

        Valuetype
        IORInterceptor
        ObjRefTemplate
        Security
        PortableServer
        IFR_Client

        RTPortableServer
        RTCORBA

and also the libraries they depends on.

  - On Linux, try defining these in the platform_macros.GNU

     exceptions=1
     interface_repo=1
     ssl=1

* Compiling CIAO core libraries and tools:

  Assuming CIAO_ROOT = ACE_wrappers/TAO/CIAO/

  Compile the following directories:


  $CIAO_ROOT/ciao/

  $CIAO_ROOT/tools/XML_Helpers
  $CIAO_ROOT/tools/ComponentServer
  $CIAO_ROOT/tools/ServerActivator
  $CIAO_ROOT/tools/Assembly_Deployer
  $CIAO_ROOT/tools/Daemon

  You need to creating the Makefile of your choice..
  For example, for unix makefile:

        $ cd $CIAO_ROOT/ciao/
        $ $(ACE_ROOT)/bin/mwc.pl
        $ make

  To regenerate VC6 dsp files, do:

        > cd $CIAO_ROOT/ciao/
        > $(ACE_ROOT)/bin/mwc.pl -type vc6

  Likewise, to regenerate VC7.1.NET project files, do:

        > cd $CIAO_ROOT/ciao
        > $(ACE_ROOT)/bin/mwc.pl -type vc71

* Now you can play with the examples:

  - $CIAO_ROOT/examples/handcrafted/Hello

     This is a single component example.  Check out run_test.pl to see
     how you can instantiate a single component using CIAO.

  - $CIAO_ROOT/examples/OEP/Display

     This is a multiple-component example.  RateGen component
     subdirectory contains a run_test.pl that you can use to
     instantiate a component instance, like you would do with the
     Hello example.  The other components require collaboration with
     other components and I don't have client programs to test them
     out individually.

     This example also lets you compose all the components into a
     distributed application using the Assembly_Deployer.  Change
     directory to

        $CIAO_ROOT/examples/OEP/Display/descriptors

     and take a look at the file: NOTE.txt.  This file describes the
     steps to compose the application using various different
     configurations and composition specs.

  - $CIAO_ROOT/examples/OEP/BasicSP

    This is a new multi-component example.  It has the similar
    struture as the Dsiplay example above.


* If you can not find the
  Makefiles for unix platform you are using, you can use mwc to create
  them.  For examples, to compile the multi-component example, use the
  following:

        $ cd $CIAO_ROOT/examples/handcrafted/Display
        $ $(ACE_ROOT)/bin/mwc.pl
        $ make

  To regenerate VC6 dsp files, do:

        > cd $CIAO_ROOT/examples/handcrafted/Display
        > $(ACE_ROOT)/bin/mwc.pl -type vc6

  Likewise, to regenerate VC7.NET project files, do:

        > cd $CIAO_ROOT/examples/handcrafted/Display
        > $(ACE_ROOT)/bin/mwc.pl -type vc7
