Building and Installing TAO

TAO has been ported and tested Windows NT, Solaris, VxWorks, and Linux. I expect that major portions of the release will port easily to other platforms that ACE has been ported to. If you can help port TAO to other platforms we'd appreciate it.

TAO can be obtained electronically via the WWW and ftp. Bundled with the TAO release is ACE. You will need the most recent version of ACE because TAO tends to track changes to ACE rather closely.

A quick build note for users who have used ACE with other ORBs: linking TAO with a version of ACE that is also linked against another ORB vendor's library, e.g., liborbix.so, will produce undefined and most likely unpredictable and erroneous results.


On UNIX platforms

  1. Set ACE_ROOT environment variable as outlined in the ACE installation notes.

  2. Build and install ACE under $ACE_ROOT.

  3. Set TAO_ROOT environment variable to $ACE_ROOT/TAO.

  4. Build and install the TAO release under $TAO_ROOT.

  5. Change directory to $TAO_ROOT/tests and execute make.

  6. Follow instructions on executing the various examples under $TAO_ROOT/tests.

A Note On Make

Since TAO is built on top ofACE, TAO re-uses ACE's Makefile structure as well. Thus, just like ACE requires GNU Make, so too does TAO. More exactly, versions of make which are known to not work include those from Solaris 4.x and 5.x, HP-UX, the latest BSD, etc.

A Note On Make

Since TAO is built atop ACE, TAO re-uses ACE's Makefile structure as well. Thus, just like ACE requires GNU Make, so too does TAO. More exactly, versions of make which are known to not work include those from Solaris 4.x and 5.x, HP-UX, the latest BSD, etc.

GNU Make can be obtained from various places in source form.


On Windows NT

To compile TAO_IDL on NT, you may need to set the environment variable CPP_PATH to where CL.exe is installed on your machine. By default, we set this variable to "C:/Program Files/DevStudio/VC/bin". Your location may vary, however. Notice that if you forget to set this variable before compiling TAO_IDL, you can use CPP_LOCATION to specify the absolute pathname to CL.exe. We set it to "C:/Program Files/DevStudio/VC/bin/CL.exe" when we do use it.

Remember to set up ACE before building TAO.

Visual C++ 5.0

It works best if TAO is placed in ACE_wrappers so TAO ends up in ACE_wrappers\TAO because the Visual C++ 5 Project files are set up to work in this configuration. If you move it, then make sure you change the project file to look for the include and library files in the correct place. If you are using TAOACE.dsw then you shouldn't need to worry about this.

  1. Make sure ACE is built (For Visual C++ 5.0, use ace.dsw or ace-vc50.dsw, whichever is in your copy of ACE).

  2. Load the workspace tao\TAO.dsw and build the TAO library.

  3. To build the Cubit test, load the workspace tests\Cubit\TAO\test.dsw and build both client and server.

TAOACE.dsw

TAOACE.dsw is a Visual C++ 5 workspace that loads the projects ACE, TAO, TAO_IDL (the compiler), and orbsvcs. The dependencies are set up to correctly between the projects so for example, ACE will be built automatically when TAO is built.

Visual C++ 4.x

  1. In Tools|Options, go to the Directories page and make sure that include files paths includes ACE_wrappers\ and the root directory of TAO (which can be ACE_wrappers\TAO if installed there). The library files paths should include ACE_wrappers\ace.

  2. Load the project file tao\TAO.mdp and build the TAO library.

  3. To build the Cubit test, load the project file tests\Cubit\TAO\test.mdp and build both client and server.


How to add IDL files into your Visual C++ projects

Point of contact: Nanbor Wang.

Each IDL file generates .h, .i and .cpp files. Here is an example of adding an IDL file named foobar.idl into a VC project.

  1. Create/open the workspace. Create server project and client project if you haven't had them ready. Add the IDL file <foobar.idl> and other non-IDL generated files into both client and server projects.
  2. Added foobarC.h, foobarC.i, foobarC.cpp, foobarS.h, foobarS.i, and foobarS.cpp into the server project and foobarC.h, foobarC.i, and foobarC.cpp into the client project.
  3. Now open the project setting window (Project -> Setting... or just press Alt-F7.) Select the IDL files in both client and server projects. Choose to set the setting for "All Configuration." Make sure the "Exclude from build" under the "General" tab is unchecked.
  4. Click on the "Custom Build" tab. Add this entry as the build command for IDL files:
  5. ..\..\..\TAO_IDL\tao_idl $(InputName).idl
    Notice that your absolute path to TAO_IDL may vary.
  6. Now add the following entries as "Output file(s)."
  7.           $(InputName)S.h
              $(InputName)S.i
              $(InputName)S.cpp
              $(InputName)C.h
              $(InputName)C.i
              $(InputName)C.cpp
    Add only one entry in each line.
  8. We are all set. Click OK.
  9. Add foobarC.cpp to client project and foobarC.cpp and foobarS.cpp to server project.
Notice that these procedures only setup the IDL compiler to perform correctly.

p.s. If anyone knows how to set a default setting in VC so we don't need to perform these procedures every time a new project gets set up, please let us know. Thanks.


Back to the TAO home page.