BUILDING CIAO ======================== * Supported platform: We have tried CIAO examples on Win32 using MSVC 7.1 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 VC7.1.NET project files, do: > cd $CIAO_ROOT/ciao > $(ACE_ROOT)/bin/mwc.pl -type vc71 * You also need to build the CIDL compiler before trying out any examples. The CIDL compiler, CIDLC, compiles your component implementation definition and generates the necessary glue code for developing and deploying components. Pleas see $CIAO_ROOT/CIDLC/README.html for instructions on how to build and use CIDLC. * Now you can play with the examples: - $CIAO_ROOT/examples/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/Display $ $(ACE_ROOT)/bin/mwc.pl $ make To regenerate VC6 dsp files, do: > cd $CIAO_ROOT/examples/Display > $(ACE_ROOT)/bin/mwc.pl -type vc6 Likewise, to regenerate VC7.NET project files, do: > cd $CIAO_ROOT/examples/Display > $(ACE_ROOT)/bin/mwc.pl -type vc7