### Building and Installing DAnCE

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

### Supported Platforms for DAnCE

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

If you have porting questions or have a problem compiling DAnCE 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.

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

### Obtaining and Installing Xerces-C

The Xerces-C XML parsing library is a necessary component to build parts of DAnCE that need to process XML based descriptor files, which include the Plan Launcher and the Repository Manager. Currently, the only Xerces-C versions supported by the DOC group is version 2.6 or later or 3.0 or later. Earlier versions of the Xerces-C library may work.

#### Building Xerces-C

You will have to obtain the source from the Xerces-C webpage and build it. Building Xerces-C is fairly straightfoward. Please see the documentation available here for instructions particular to your platform.

- NOTE: Some of the provided projects with Xerces-C attach inconsistant library decorators onto the end of the Xerces-C libraries. The MPC build tool will expect these libraries to be named xerces-c for non debug versions, and xerces-cd for debug versions.

#### Xerces-C Environment Settings

If the Xerces includes and libraries are in your system include and library paths, respectively, then you need not set up any environment and may proceed to the next step. If not, you will need to set an environment variable named XERCESCROOT to a path such that $XERCESCROOT/include points to the includes and $XERCESCROOT/lib points to the libraries. Also make sure that $XERCESCROOT/lib is in the appropriate environment variable that your platform uses to search for dynamically linked libraries.

To build DAnCE core/tools/examples:

1. Make sure ACE and TAO are built.
2. Make sure you have the Xerces-C libraries installed/built
3. Enable Xerces-C in default.features by setting `xerces3=1` or `xerces2=1`, depending on your version Xerces-C libraries.
4. Make sure all ACE/TAO/etc. generated libs are in `$ACE_ROOT/lib`. To build DAnCE you will need:
   - `ACE`
   - `TAO`
   - `TAO_IDL`
   - `IORTable`
5. 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 DAnCE_TAO.mwc` in $DANCE_ROOT

   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 `DANCE_ROOT.` After running the command with proper augment once then you can do `make` at `$DANCE_ROOT` (Linux) or open the workspace/solution file at `$DANCE_ROOT` (Windows) to build.