Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / TAO-INSTALL.html
blob1094be6199259d2016f3dbb665fc1bb7cf7fe1f7
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <!-- -->
4 <HTML>
5 <HEAD>
6 <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
7 <TITLE>Building and Installing TAO</TITLE>
8 <link rev=made href="mailto:schmidt@dre.vanderbilt.edu">
9 </HEAD>
11 <BODY text = "#000000"
12 link = "#000fff"
13 vlink = "#ff0f0f"
14 bgcolor = "#ffffff">
16 <H5>Document Index</H4>
17 <UL>
18 <LI><A HREF="#build">Building and Installing TAO from a distribution</A>
19 <LI><A HREF="#svn">Building and Installing TAO from git</A>
20 </UL>
22 <HR>
23 <H4><A NAME="build">Building and Installing TAO from a distribution</H4>
26 <p>The following table summarizes platforms on which TAO runs, see the
27 <a href="../ACE-INSTALL.html#platforms">ACE installation notes</A> for an
28 overview of all the platforms ACE runs on, these are all candidates
29 to run TAO on:<P>
31 <table width="100%" border=1>
32 <tr valign=top>
33 <td><b>Fully supported, i.e., continually tested and used daily</b></td>
34 <td>Windows (Microsoft Visual Studio 2015, 2017, and 2019),
35 Linux/Intel (Redhat, Debian, and SuSe), Android
36 </td>
37 </tr>
38 <tr valign=top bgcolor="#AFAFAF">
39 <td><b>Nearly fully supported, i.e., sometimes tested</b></td>
40 <td>HP/UX 11.x, LynxOS
41 </td>
42 </tr>
43 <tr valign=top>
44 <td><b>Partially supported, i.e., infrequently tested</b></td>
45 <td>FreeBSD, NetBSD, MacOSX, Linux/Alpha (RedHat, SuSE, and Debian)
46 </td>
47 </tr>
48 <tr valign=top bgcolor="#AFAFAF">
49 <td><b>Planned support, i.e., pending</b></td>
50 <td></td>
51 </tr>
52 <tr valign=top>
53 <td><b>Formerly Supported Platforms</b></td>
54 <td> Embarcadero C++ Builder, Sun/C++ 5.1 through 5.4, g++
55 prior to 2.95.x, HP/UX 10.x, pSoS, Chorus, DEC UNIX, SCO, UnixWare, MVS,
56 Windows 9x/ME, Chorus, Tandem NS, OpenVMS 8.3 IA64, Windows CE, Solaris 9, AIX
57 </td>
58 </tr>
59 </table>
61 <P>Any UNIX/POSIX/Win32 variation is a potential target platform for
62 TAO. If you have <A
63 HREF="../docs/ACE-porting.html">porting
64 questions</A> or have a problem compiling the TAO along with ACE
65 wrappers on the platforms shown above please open a github <A
66 HREF="https://github.com/DOCGroup/ACE_TAO">issue or discussion</A> and we'll
67 try to help you fix the problems.<P>
69 TAO can be obtained <A
70 HREF="https://download.dre.vanderbilt.edu">electronically</A>
71 via the WWW and ftp. <A
72 HREF="https://www.dre.vanderbilt.edu/TAO">TAO</A> is bundled
73 with the <A
74 HREF="https://www.dre.vanderbilt.edu/ACE"> ACE </A> release. You'll
75 always need the most recent version of ACE because TAO tracks and
76 influences changes to ACE. Always use the ACE+TAO release
77 bundle as a single piece instead of trying to mix and match things up.<P>
79 <HR><P>
80 <H3>On UNIX platforms</H3>
83 <OL>
84 <LI>Set <CODE>ACE_ROOT</CODE> environment variable as outlined in
85 the <a href="../ACE/ACE-INSTALL.html">ACE
86 installation notes</A>.<P>
88 <LI>Build and install ACE under <CODE>$ACE_ROOT</CODE>.<P>
90 <UL>
91 <LI>Change directory to <CODE>$ACE_ROOT/ace</CODE> and execute
92 <CODE><A HREF="#makenotes">make</A></CODE>.<P>
93 <LI>Also build GPERF under <CODE>$ACE_ROOT/apps/gperf/src</CODE><P>
94 </UL>
96 <LI>Set <CODE>TAO_ROOT</CODE> environment variable to
97 <CODE>$ACE_ROOT/TAO</CODE>.<P>
99 <LI>Build and install the TAO release under <CODE>$TAO_ROOT</CODE>.
100 <P> TAO also uses GNUmakefiles and project files generated
101 from MPC to compile. The full distribution will
102 come with stock GNUmakefiles, project files (for VC9 and VC
103 10) awhich were all generated by
104 MPC. </P>
106 <P>The easiest and recommended way to compile the
107 <B>complete</B> TAO distribution by simply simply executing
108 <code><a href="#makenotes">make</a></code>
109 in the <CODE>$TAO_ROOT</CODE> directory.
110 </P>
112 <P>A smaller subset, that may be of interest to test basic TAO
113 functionality, is:
114 <CODE>$TAO_ROOT/tao</CODE>,
115 <CODE>$TAO_ROOT/TAO_IDL</CODE>,
116 <CODE>$TAO_ROOT/tests/Param_Test</CODE>.
117 Then you can execute the <CODE>run_test.pl</CODE> script in
118 <CODE>$TAO_ROOT/tests/Param_Test</CODE> and/or
119 follow the instructions contained in the <CODE>README</CODE>
120 file in the same directory.
121 </P>
123 <P>If you wish to compile the ORB services distributed with TAO,
124 including the <CODE>Naming Service</CODE> you
125 must include <CODE>$TAO_ROOT/orbsvcs</CODE> to the list
126 above. Please see the
127 <A HREF="docs/configurations.html#orbsvcs">TAO configuration documentation</a>
128 for a discussion on how to create a subset configuration of specific
129 TAO ORB servcies.
130 </P>
131 <P> If you wish to compile all the core tao and orbsvcs,
132 including its dependencies in ACE and ACEXML, you can do the
133 following <OL>
134 <LI>
135 Unpack the distribution from DOC group's
136 website.</LI>
137 <LI>
138 Set the environment variables $ACE_ROOT and
139 $TAO_ROOT.</LI>
140 <LI>Create config.h and platform_macros.GNU at
141 the right places</LI>
142 <LI>Delete all the GNUmakefiles (or sln and
143 vproj file as the case may be) from the TAO distribution using
144 the 'find' command.</LI>
145 <LI>Change directory to $TAO_ROOT.</LI>
146 <LI>Run MPC like this, $ACE_ROOT/bin/mwc.pl TAO_ACE.mwc -type gnuace </LI>
147 <LI>Run
148 'make'.</LI> </OL></P><P> This will create all the required libraries for TAO
149 and TAO orbsvcs. In step 6, use -type vs2019 if you want to
150 generate Visual Studio 2019 project and workspace files for Win32. Please
151 see <A href="../MPC/docs/USAGE"> MPC USAGE </A> document for
152 details on how to generate build files for other compilers
153 and tools.</P>
155 <LI>To test that the TAO release is properly configured,
156 follow instructions on executing the various examples under
157 <CODE>$TAO_ROOT/tests</CODE>.<P>
159 </OL>
161 <h3><strong><a name="sun_g++_notes">Note About g++ On
162 Solaris for x86 Target</a></strong></h3>
164 If you install g++/gcc from <a href="http://www.blastwave.org"> blastwave
165 </a> then this note is applicable for you. If you are in the habit of
166 building g++/gcc from sources directly, please feel free to skip this
167 section. <p>
169 The distribution from <a href="http://www.blastwave.org">blastwave</a> has,
170 as we believe, a bug in it. This bug manifests as compilation errors
171 when you try to build the orbsvcs when debugging is enabled. Please
172 remember that debugging is enabled in your platform_macros.GNU if you
173 haven't specifically disabled it. The easiest way to address this
174 issue is to set debug=0 in platform_macros.GNu file or build a g++
175 compiler for your target platform. A bug has been registered with
176 blastwave. If you have more questions please feel to contact <a
177 mailto="bala at dre.vanderbilt.edu"> Bala Natarajan </a>.
179 <h2><strong><a name="makenotes">A Note On Make</a></strong></h2>
181 Since TAO is built atop ACE, TAO re-uses ACE's Makefile structure as
182 well. Thus, just like ACE requires GNU Make, so too does TAO. More
183 exactly, versions of <code>make</code> which are known to <em>not</em>
184 work include those from Solaris 4.x and 5.x, HP-UX, the latest BSD,
185 etc.<p>
187 GNU Make can be obtained from various places in source and binary
188 form. Please see <a href="../ACE/ACE-INSTALL.html">ACE-INSTALL.html</a>
189 for details from where they can be obtained.<P>
191 <HR><P>
192 <h3>Using cross compilation</h3>
194 With cross compilation you build on the so called host system for a certain
195 target system. The host system can for example be linux and the target
196 can for example be VxWorks, LynxOS, or Linux.
198 If you are building TAO for a VxWorks target, please see the detailed
199 instructions for building and installing ACE and TAO in <a
200 href="../ACE/ACE-INSTALL.html#vxworks">$ACE_ROOT/ACE-INSTALL.html</a>.</p>
201 <p>If you are building TAO for an Android target, please see the notes
202 for building and installing ACE and TAO in <a
203 href="../ACE-INSTALL.html#android">$ACE_ROOT/ACE-INSTALL.html</a>.</p>
205 <P>Cross-compiling TAO is not much different than building it for a
206 self-host. The one major difference is that TAO's IDL compiler
207 must be built and run on the host; it's not necessary to run it
208 on the target.
209 There are several ways to do this, below we document the two
210 most common approaches:
211 </P>
213 <H4>Modifying the default location for the IDL compiler</H4>
215 <P>By default TAO assumes that the IDL compiler is located in:
216 <CODE>$ACE_ROOT/bin/tao_idl</CODE> and that the GPERF tool
217 is located in <CODE>$ACE_ROOT/bin/gperf</CODE>, this is fine for
218 hosted builds, but not for cross-compilation.
219 Unfortunately there is no good default for cross-compilation
220 builds because different sites choose a different location for
221 their tools.
222 </P>
224 The location of the IDL compiler is set when the makefiles (whether
225 GNU, Visual Studio projects, or any other type) are generated using
226 MPC. If you are using GNU make for the target build, you can follow the
227 procedure below with no further steps. If, however, you are using
228 Visual Studio for the target build, you must generate the Visual Studio
229 projects with a specification of where the hosted IDL compiler is. One
230 common way to do this is to use the MPC <code>-value_template</code>
231 option to specify the path to the IDL compiler, either using a
232 fully specified path or an environment variable. For example, to specify
233 the location with the <code>HOST_TAO_IDL</code> environment variable,
234 generate your projects with the MPC command line option
235 <code>-value_template tao_idl=$(HOST_TAO_IDL)</code>. Then before
236 running Visual Studio to cross-build for the target, be sure that the
237 <code>HOST_TAO_IDL</code> environment variable is set to the location
238 of the host-built IDL compiler. Note that if the host-built IDL compiler
239 requires a PATH setting different from what's set in the Visual Studio
240 environment, you must set the PATH environment variable and specify the
241 <code>/USEENV</code> option to devenv.
242 </P>
243 <P>If your builds are using GNU make, you can override the default values
244 by adding several lines to your <code>platform_macros.GNU</code> file.
245 Assuming $(HOST_ROOT) is set to the location of your host build where
246 you previously built gperf and tao_idl, you can change the target
247 build by adding the following lines:
248 <PRE>
249 TAO_IDL := $(HOST_ROOT)/bin/tao_idl
250 TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/gperf
251 TAO_IDL_DEP := $(HOST_ROOT)/bin/tao_idl$(EXEEXT)
252 </PRE>
254 <P>Obviously you must first build the tools for the host platform,
255 typically you would do this as follows:
256 <PRE>
257 # (1) Create a clone directory for the host:
259 $ cd ACE_wrappers
260 $ mkdir -p build/HOST
261 $ ./bin/create_ace_build build/HOST
263 # (2) Configure the host build:
265 $ echo '#include "ace/config-HOST.h"' > build/HOST/ace/config.h
266 $ echo 'include $(ACE_ROOT)/include/makeinclude/platform_HOST.GNU' \
267 > build/HOST/include/makeinclude/platform_macros.GNU
269 # Often host builds are static:
270 $ echo 'static_libs_only=1' \
271 >> build/HOST/include/makeinclude/platform_macros.GNU
273 # (3) Build the host tools
275 $ cd build/HOST
276 $ export ACE_ROOT=$PWD
277 $ make -C ace
278 $ make -C apps/gperf/src
279 $ make -C TAO/TAO_IDL
280 </PRE>
282 <P>Then configuring the location of the tools for the target
283 could be done as shown here:
284 <PRE>
285 # (4) Create a clone directory for the target:
287 $ cd ACE_wrappers
288 $ mkdir -p build/TARGET
289 $ ./bin/create_ace_build build/TARGET
291 # (5) Configure the target build:
293 $ echo '#include "ace/config-TARGET.h"' > build/HOST/ace/config.h
294 $ echo 'include $(ACE_ROOT)/include/makeinclude/platform_TARGET.GNU' \
295 > build/TARGET/include/makeinclude/platform_macros.GNU
297 # (6) Configure the TARGET build to use the HOST IDL compiler and
298 # gperf tools, as described above.
299 </PRE>
301 <H4>Alternative configuration, using links</H4>
303 <P>Some developers prefer to set up the host tools using symbolic
304 links (Unix) or copy of <code>tao_idl</code> (NT).
305 By way of example, here is how you could setup a
306 croos-compilation environment for Unix,
307 the host is <CODE>SunOS5/g++</CODE>,
308 the target is <CODE>VxWorks</CODE>.
309 It assumes that the ACE+TAO distribution has been
310 unpacked, with TAO below ACE_wrappers. It uses the
311 ACE_wrappers/bin/create_ace_build script to create a shadow
312 build
313 tree:
314 <ol>
315 <li><code>cd ACE_wrappers</code>
316 <li><code>bin/create_ace_build SunOS5_g++</code>
317 <li><code>bin/create_ace_build vxworks</code>
318 <li><code>cd build/vxworks/bin</code>
319 <li><code>/bin/rm -r tao_idl</code>
320 <li><code>ln -s ../../SunOS5_g++/bin/tao_idl</code>
321 </ol>
323 <P>To build on the host:
324 <ol>
325 <li><code>cd build/SunOS5_g++</code>
326 <li><code>export ACE_ROOT=`pwd`;
327 export LD_LIBRARY_PATH=`pwd`/ace:`pwd`/lib:$LD_LIBRARY_PATH</code>
328 <li><code>(cd ace; make && cd ../tests; make && cd ../TAO; make) &gt;
329 make.log</code>
330 <li><code>cd ../vxworks</code>
331 <li><code>export ACE_ROOT=`pwd`</code>
332 <li><code>(cd ace; make && cd ../tests; make && cd ../TAO; make) &gt;
333 make.log</code>
334 </ol>
336 <P>For Win32 hosts, please see the detailed instructions for building
337 and installing ACE and TAO in
338 <a href="../ACE/ACE-INSTALL.html#vxworks">ACE_ROOT/ACE-INSTALL.html</a>,
340 <a href="../ACE/ACE-INSTALL.html#VxWorks/NT">Building ACE on
341 Tornado/NT hosts for VxWorks targets</a>
342 </P>
344 <P>Please note that dynamic loading of libraries is not supported
345 by TAO for any cross-compiled target. Therefore, dynamic
346 service configuration of the TAO ORB is not supported.
347 </p>
349 <P>If using perfect hashing, TAO_IDL needs gperf to be built on
350 the host. That's the default on many platforms. First, build
351 <code>gperf</code> in the
352 <code>ACE_wrappers/apps/gperf/src/</code> directory.
353 </P>
355 <H4>Which one is right for me?</H4>
357 <P>Using links to cross-compile TAO may appear simpler at first
358 glance. However, storing the location in the
359 <CODE>platform_macros.GNU</CODE> is more amenable for
360 sites where many developers share the same configuration files,
361 or where ACE+TAO are compiled once and used by a medium or large
362 size group.
363 </P>
365 <HR><P>
366 <H3>On Windows NT and Windows 2000 and Windows XP</H3>
368 <P><CODE>TAO_IDL</CODE> does not contain its own preprocessor, so it
369 needs to use an external preprocessor. Depending on which compiler was
370 used to build <CODE>TAO_IDL</CODE>, the default preprocessor will change.
371 For example, if compiled with MSVC, <CODE>TAO_IDL</CODE> will look for
372 CL.EXE in the path. There are cases where this will not work, such as in cross-compiling
373 or if the preprocessor is not in the path. These situations require that
374 environment variables are set on the machine to override the
375 built-in settings. More information about these environment variables can
376 be found in the <a href="docs/compiler.html#idl_env">TAO_IDL documentation.</a></P>
378 <P>It is also mandatory to set the <CODE>ACE_ROOT</CODE> environment
379 variable as outlined in the
380 <a href="../ACE/ACE-INSTALL.html">ACE
381 installation notes</A> and the <code>TAO_ROOT</code> environment variable.
382 </P>
384 Remember to <a href="../ACE/ACE-INSTALL.html">set
385 up ACE</A> before building TAO.
387 Make sure that you first build <code>$TAO_ROOT\TAO_IDL</code> and then <code>
388 $TAO_ROOT\tao</code> because in order to compile the core TAO libraries
389 you need to have <code>TAO_IDL</code> compiled.
391 <H4>Visual Studio 2015 and newer</H4>
393 <P>It works best if TAO is placed in ACE_wrappers so TAO ends up in
394 <CODE>ACE_wrappers\TAO</CODE> because the Visual Studio Project files
395 are setup up to work in this configuration. If you move it, then make
396 sure you regenerate the project files to look for the include and
397 library files in the correct place. The default place for placing the
398 library files are $ACE_ROOT/lib. You can change this setting in <a
399 href="../bin/MakeProjectCreator/config/acedefaults.mpb"> this base
400 project </a> file.</P>
402 <OL>
403 <LI>Make sure ACE is built (For Visual Studio 2015, use ACE.sln). <P>
405 <LI>First make sure <CODE>ACE_wrappers\bin</CODE> is listed in the Executable
406 Directories in Tools|Options. This is needed if using the TAO_IDL
407 compiler under MSVC. If you intend to also use the release
408 version of the libraries in the same workspace you have to be
409 careful, since the executable name for TAO_IDL is same in debug
410 and release builds. You can use only or the other in the same
411 workspace. This shouldn't be an issue since the projects for
412 tests and examples are set up to transparently use one or the
413 other.
415 <LI>Load the solution <CODE>$TAO_ROOT\TAO.sln</CODE> and build first
416 the TAO_IDL compiler. After that build the TAO
417 library. This solution has almost all the projects under TAO
418 which can be built. Therefore please pick and choose projects
419 that you want to build.<P>
421 <LI>To build the Param_Test, load the solution
422 <CODE>tests\tests.sln</CODE>
423 and build both client and server. <P>
424 </OL>
426 <H4>Upgrading From Older Releases</H4>
428 <P>When a newer version of ACE/TAO is installed, rebuild all should be
429 used to make sure everything is built correctly.</P>
431 <H4>Changing Include Paths</H4>
433 <P>If you prefer <code>#include &lt;corba.h&gt;</code> over <code> #include
434 &lt;tao/corba.h&gt;</code> then you will need to change your Project Settings
435 to also contain the <code>TAO/tao</code> directory. You'll find this in the
436 C/C++ settings under Input.</P>
438 <H4>Creating Static Libraries (*.lib)</H4>
440 <P> Instructions for dynamic libraries apply to static libraries as
441 well. Users will have to use the _Static.sln files for
442 creating static libraries and linking with them.
444 <H4>MinGW and Cygwin</H4> <P>
446 <P>First, follow the build instructions in the
447 <A HREF="../ACE/ACE-INSTALL.html#mingw">ACE installation notes.</A>
448 When building with MinGW and Cygwin you are using the GNU make under Windows.
449 When you use make from the commandline, make sure that <code>TAO_ROOT</code> is
450 set to a full path or to <code>%ACE_ROOT%/TAO</code>, which will also result
451 in setting a full path. Setting it with the Unix style to <code>$ACE_ROOT/TAO</code>
452 will not work, setting it using the make style to <code>$(ACE_ROOT)/TAO</code> looks
453 to work but will cause problems when building the TAO services, so don't do that.
454 The correct way is:
455 <BLOCKQUOTE><code>set TAO_ROOT=%ACE_ROOT%/TAO</code></BLOCKQUOTE>
457 <HR>
458 <H3>Perl Scripts</H3>
460 <P>Several of TAO's tests and examples contain perl scripts that automate the
461 execution of these tests. The scripts are found as "run_test.pl" in the
462 directory of the test.</p>
464 <HR>
467 <H3>Minimum CORBA</H3>
469 <P>By default, all components in TAO will be compiled. If you only
470 want support for <A HREF="docs/minimumTAO.html">minimumTAO</A>, define
471 TAO_HAS_MINIMUM_CORBA. This can be accomplished by the following:
472 create <code>ACE_wrappers/bin/MakeProjectCreator/config/default.features</code>
473 with the contents:</p>
474 <code>minimum_corba=1</code><p>
475 Then regenerate the project files with MPC using <code>perl bin/mwc.pl</code>,
476 see also <A HREF="../ACE/ACE-INSTALL.html#MPC">ACE-INSTALL.html</A> for more info
477 about the MPC generation. This <code>miminum_corba=1</code> will add compiler
478 flags to the C++ compiler and the IDL compiler to indicate that minimum corba
479 is enabled.
480 For your own project code you can define TAO_HAS_MINIMUM_CORBA in the ace/config.h file or
481 by using <CODE>make minimum_corba=1</CODE> when you compile TAO after that.</P>
483 <strong><blink><font color="#ff0000">WARNING:</font></blink></strong>
484 Make sure that if you build the orbsvcs with minimum_corba=1 you also
485 build the core libraries with minimum_corba=1!<P>
487 <HR>
490 <H3>CORBA/e compact and micro</H3>
492 <P>By default, all components in TAO will be compiled. If you only
493 want support for CORBA/e compact or micro you must regenerate the
494 makefiles shipped with the distribution.
495 This can be accomplished by the following:
496 create <code>ACE_wrappers/bin/MakeProjectCreator/config/default.features</code>
497 with the contents:</p>
498 <code>corba_e_compact=1</code><p>
499 or</p>
500 <code>corba_e_micro=1</code><p>
501 Then regenerate the project files with MPC using <code>perl bin/mwc.pl</code>,
502 see also <A HREF="../ACE/ACE-INSTALL.html#MPC">ACE-INSTALL.html</A> for more info
503 about the MPC generation. This <code>corba_e_x=1</code> will add compiler
504 flags to the C++ compiler and the IDL compiler to indicate that CORBA/e
505 is enabled.
506 For your own project code you can define <code>CORBA_E_COMPACT</code> or
507 <code>CORBA_E_MICRO</code>
508 in the ace/config.h file.</P>
511 <HR><P>
512 <H3><A NAME="resource_requirements">System Resource Requirements</A></H3>
513 Please see the
514 <a href="../ACE/ACE-INSTALL.html#resource_requirements">ACE-INSTALL.html</a> System
515 Resource Requirements discussion for information on system resources
516 required to build ACE and TAO.<p>
518 <HR>
519 <H4><A NAME="svn">Building and Installing TAO from git</H4>
521 If users are building from our <a
522 href="https://github.com/DOCGroup/ACE_TAO">git archive</a> the
523 GNUmakefiles, and project files for building on various platforms will
524 not be available. Users from git are expected to generate them
525 using <a href="../MPC/docs/README">MPC</a> before building ACE or TAO.
526 We point out some suggestions below to get bootstrapped
527 quickly.
529 <UL>
530 <LI> Please see <a href="#MPC"> instructions </a> above to download
531 MPC from our git repository</LI><p/>
532 <LI>Please make sure that you have <a href="http://www.perl.org">
533 perl</a> installed, preferably perl
534 5.8 or higher. Users on Win32 based platforms are recommended to use
535 <a href="https://www.activestate.com/products/perl"> Active
536 State Perl </a>. We use active state perl without problems. We have
537 ran into problems trying to use the cygwin version of perl on Win32
538 based platforms.</LI><p/>
539 <LI>When building from git, the ACE_ROOT and TAO_ROOT environment
540 variable settings differ from their settings in the ACE_wrappers
541 prepackaged source distribution:
542 <UL>
543 <LI>ACE_ROOT should point to the ACE subdirectory of the top level
544 ACE_TAO directory</LI>
545 <LI>TAO_ROOT should point to the TAO subdirectory of the top level
546 ACE_TAO directory</LI>
547 </UL>
548 </LI><p/>
549 <LI>If you just want to build TAO and associated tests, examples,
550 and associated utility libraries, we recommend the following
551 alternatives:
552 <UL>
553 <LI> Build ACE and TAO separately. ACE needs to be built first and
554 instructions for building ACE are available at <a
555 href="../ACE/ACE-INSTALL.html#MPC">ACE-INSTALL</a>. GNUmakefiles and
556 project files for TAO can be generated by using the following
557 commands:<p>
558 <CODE> $ACE_ROOT/bin/mwc.pl TAO.mwc -type gnuace </CODE> <p>
559 from <CODE> $TAO_ROOT </CODE> to generate GNUmakefiles. Use <CODE>
560 -type vc71 </CODE> to generate VC71 project and solution files,
561 or <CODE>-type vc8</CODE> for VC8 project and solution files, or
562 <CODE>-type bmake</CODE> for Borland C++ make files.</LI><p/>
563 <LI> Build ACE+TAO together in one shot. To do that please issue
564 the following commands: <p>
565 <CODE> $ACE_ROOT/bin/mwc.pl TAO_ACE.mwc </CODE> <p>
566 from <CODE>$TAO_ROOT</CODE>. This will generate GNUmakefiles for
567 ACE, gperf, and core ACE+TAO libraries. Issuing a
568 <CODE>'make'</CODE> from <CODE>$TAO_ROOT </CODE> will build all of
569 the above in one shot. You can use <CODE> -type vc71 </CODE> to
570 generate VC71 project and workspace files. <CODE>TAO_ACE.sln</CODE>
571 can be used by users to build ACE+TAO from a single workspace
572 file. Users can use <CODE> -type vc8 </CODE> to generate the VC8
573 solutions files.
574 </LI>
575 </UL>
576 </LI><p/>
577 </UL>
580 <HR><P>
581 Back to the <A HREF="https://www.dre.vanderbilt.edu/~schmidt/TAO.html">TAO</A> home page.
583 <!--#include virtual="/~schmidt/cgi-sig.html" -->
584 </BODY>
585 </HTML>