### Building and Installing CIAO

The first thing you should do to install CIAO is to set the environment variable `CIAO_ROOT` to be `$TAO_ROOT/CIAO`, or whereever you have installed the CIAO sources. The `DANCE_ROOT` environment variable should also be set to `$TAO_ROOT/DAnCE`, or wherever you have installed the DAnCE sources. Please refer to the ACE installation notes, TAO installation notes, and the DAnCE installation notes for instructions on setting `$ACE_ROOT`, `$TAO_ROOT`, and `$DANCE_ROOT` respectively. They are needed since CIAO sits on top of ACE+TAO+DAnCE. Compiling ACE+TAO+DAnCE successfully is the first requirement for compiling CIAO.

CIAO is divided into several parts, so different installation/building rules apply to different parts of CIAO.

1. CIAO core/examples: This part of CIAO include following directories: `$CIAO_ROOT/ccm`, `$CIAO_ROOT/ciao`, `$CIAO_ROOT/examples`.

### Supported Platforms for CIAO

CIAO should be usable on most platforms that TAO+DAnCE runs on. Please see TAO+DAnCE installation pages for details

If you have porting questions or have a problem compiling DAnCE or CIAO with TAO and ACE on the platforms shown above please send email to either ACE Newsgroup or the CIAO mailing list and we'll try to help you fix the problems. You can also submit bug reports and enhancement requests in our bug tracking system.

CIAO can be obtained electronically via the WWW and ftp. CIAO is bundled with the ACE and TAO release. You'll always need the most recent version of ACE and TAO because CIAO tracks changes to ACE and TAO very closely.

### Install CIAO core/tools/examples

Most of the GNUmakefiles/project files/solution files required to build CIAO are available in the release. If you don't like the configurations used, please feel free to regenerate them using MPC. Please see this file for more details.

To build CIAO core/tools/examples:

1. Make sure ACE, TAO, and DAnCE are built.
2. Make sure all ACE/TAO/DAnCE/etc. generated libs are in `$ACE_ROOT/lib`. To build CIAO you will need:
   - `ACE`
   - `TAO`
   - `TAO_IDL`
   - `IORTable`
   - `Valuetype`
   - `Security`
   - `ACEXML`
   - `DAnCE`
3. Generate the Makefile/Solution/Project files and build

   For the supported build tools please see MPC manual.

   On Linux: do `$ACE_ROOT/bin/mwc.pl -type gnuace` at the locations specified above then `make`.

   On Windows/VC8: do `%ACE_ROOT%/bin/mwc.pl -type vc8` at the locations specified above then Open the solution file and build.

   Note: You can run `mwc.pl` at `$CIAO_ROOT.` After running the command with proper augment once then you can do `make` at `$CIAO_ROOT` (Linux) or open the workspace/solution file at `$CIAO_ROOT` (Windows) to build.

Building CIAO quickly : You can build CIAO quickly by doing the following:

- Remove all the GNUmakefiles or project files that are shipped with the release or download a source only distribution.
- Open up `$CIAO_ROOT/CIAO_TAO_DAnCE.mwc` .
- Run `$ACE_ROOT/bin/mwc.pl CIAO_TAO_DAnCE.mwc -type gnuace` from `$CIAO_ROOT` .
- Type 'make'
- This will build all the required ACE+TAO+DAnCE libraries including CIAO libraries and tools.

### Connectors

See this tutorial for more information on connectors.

See DDS4CCM-INSTALL for more information on how to build and install the DDS4CCM connector.

### Android

See this documentation for more information on how to set up a CIAO android port.

Back to the CIAO home page.