summaryrefslogtreecommitdiff
path: root/TAO/TAO-INSTALL.html
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO-INSTALL.html')
-rw-r--r--TAO/TAO-INSTALL.html161
1 files changed, 30 insertions, 131 deletions
diff --git a/TAO/TAO-INSTALL.html b/TAO/TAO-INSTALL.html
index ae4cc31269c..6f1d68799bd 100644
--- a/TAO/TAO-INSTALL.html
+++ b/TAO/TAO-INSTALL.html
@@ -78,7 +78,6 @@ likely unpredictable and erroneous results. <P>
<UL>
<LI>Change directory to <CODE>$ACE_ROOT/ace</CODE> and execute
<CODE><A HREF="#makenotes">make</A></CODE>.<P>
- <LI>Also build GPERF under <CODE>$ACE_ROOT/apps/gperf</CODE><P>
</UL>
<LI>Set <CODE>TAO_ROOT</CODE> environment variable to
@@ -133,101 +132,16 @@ If you are building TAO for a VxWorks target, please see the detailed
instructions for building and installing ACE and TAO in <a
href="../ACE-INSTALL.html#vxworks">$ACE_ROOT/ACE-INSTALL.html</a>.<p>
- <P>Cross-compiling TAO is not much different than building it for
- self-host. The one major difference is that TAO's IDL compiler
- must be built and run on the host; it's not necessary to run it
- on the target.
- There are several ways to do this, below we document the two
- most common approaches:
- </P>
-
- <H4>Modifying the default location for the IDL compiler</H4>
-
- <P>By default TAO assumes that the IDL compiler is located in:
- <CODE>$TAO_ROOT/TAO_IDL/tao_idl</CODE> and that the GPERF tool
- is located in <CODE>$ACE_ROOT/bin/gperf</CODE>, this is fine for
- hosted builds, but not for cross-compilation.
- Unfortunately there is no good default for cross-compilation
- builds because different sites choose a different location for
- their tools.
- </P>
- <P>You can override the default values by adding two lines in your
- platform_macros.GNU file, as follows:
-<PRE>
-$ echo 'TAO_IDL := /your/path/tao_idl' \
- >> platform_macros.GNU
-$ echo 'TAO_IDLFLAGS := -g /your/path/gperf' \
-</PRE>
- </P>
- <P>You could even use:
-<PRE>
-$ echo 'TAO_IDL := tao_idl' \
- >> platform_macros.GNU
-$ echo 'TAO_IDLFLAGS := -g gperf' \
-</PRE>
- if the tools are in your path.
- </P>
-
- <P>Obviously you must first build the tools for the host platform,
- typically you would do this as follows:
-<PRE>
-# (1) Create a clone directory for the host:
-
-$ cd ACE_wrappers
-$ mkdir -p build/HOST
-$ ./bin/create_ace_build build/HOST
-
-# (2) Configure the host build:
-
-$ echo '#include "ace/config-HOST.h"' > build/HOST/ace/config.h
-$ echo 'include $(ACE_ROOT)/include/makeinclude/platform_HOST.GNU' \
- > build/HOST/include/makeinclude/platform_macros.GNU
-
-# Often host builds are static:
-$ echo 'static_libs_only=1' \
- >> build/HOST/include/makeinclude/platform_macros.GNU
-
-# (3) Build the host tools
-
-$ cd build/HOST
-$ export ACE_ROOT=$PWD
-$ make -C ace
-$ make -C apps/gperf
-$ make -C TAO/TAO_IDL
-</PRE>
-
- <P>Then configuring the location of the tools for the target
- could be done as shown here:
-<PRE>
-# (4) Create a clone directory for the target:
-
-$ cd ACE_wrappers
-$ mkdir -p build/TARGET
-$ ./bin/create_ace_build build/TARGET
-
-# (5) Configure the target build:
-
-$ echo '#include "ace/config-TARGET.h"' > build/HOST/ace/config.h
-$ echo 'include $(ACE_ROOT)/include/makeinclude/platform_TARGET.GNU' \
- > build/TARGET/include/makeinclude/platform_macros.GNU
-
-# (6) Configure the TARGET build to use the HOST IDL compiler and
-# gperf tools, as described above.
-</PRE>
-
- <H4>Alternative configuration, using links</H4>
-
- <P>Some developers prefer to set up the host tools using symbolic
- links (Unix) or copy of <code>tao_idl</code> (NT).
- By way of example, here is how you could setup a
- croos-compilation environment for Unix,
- the host is <CODE>SunOS5/g++</CODE>,
- the target is <CODE>VxWorks</CODE>.
- It assumes that the ACE+TAO distribution has been
- unpacked, with TAO below ACE_wrappers. It uses the
- ACE_wrappers/bin/create_ace_build script to create a shadow
- build
- tree:
+Cross-compiling TAO is not much different than building it for
+self-host. The one major difference is that TAO's IDL compiler must
+be built and run on the host; it's not necessary to run it on the
+target. It's easiest to set this up by using a symlink (Unix) or copy
+of <code>tao_idl</code> (NT). By way of example, here is how I setup
+my Unix (SunOS5, using g++) workspace to support cross-compilation
+(for VxWorks). It assumes that the ACE+TAO distribution has been
+unpacked, with TAO below ACE_wrappers. It uses the
+ACE_wrappers/bin/create_ace_build script to create a shadow build
+tree:<p>
<ol>
<li><code>cd ACE_wrappers</code>
<li><code>bin/create_ace_build SunOS5_g++</code>
@@ -235,10 +149,9 @@ $ echo 'include $(ACE_ROOT)/include/makeinclude/platform_TARGET.GNU' \
<li><code>cd build/vxworks/TAO</code>
<li><code>/bin/rm -r TAO_IDL</code>
<li><code>ln -s ../../SunOS5_g++/TAO/TAO_IDL</code>
-</ol>
- </P>
+</ol><p>
- <P>To build on the host:
+To build on the host:
<ol>
<li><code>cd build/SunOS5_g++</code>
<li><code>export ACE_ROOT=`pwd`;
@@ -249,38 +162,24 @@ $ echo 'include $(ACE_ROOT)/include/makeinclude/platform_TARGET.GNU' \
<li><code>export ACE_ROOT=`pwd`</code>
<li><code>(cd ace; make && cd ../tests; make && cd ../TAO; make) &gt;
make.log</code>
-</ol></p>
-
- <P>For NT hosts, please see the detailed instructions for building
- and installing ACE and TAO in
- <a href="../ACE-INSTALL.html#vxworks">../ACE-INSTALL.html</a>,
- and
- <a href="../ACE-INSTALL.html#VxWorks/NT">Building ACE on
- Tornado/NT hosts for VxWorks targets</a>
- </P>
-
- <P>Please note that dynamic loading of libraries is not supported
- by TAO for any cross-compiled target. Therefore, dynamic
- service configuration of the TAO ORB is not supported.
- </p>
-
- <P>If using perfect hashing, TAO_IDL needs gperf to be built on
- the host. That's the default on many platforms. First, build
- <code>gperf</code> in the
- <code>ACE_wrappers/apps/gperf/src/</code> directory. Then, add
- a symlink or copy to the <code>bin/</code> directory for the
- target.
- </P>
-
- <H4>Which one is right for me?</H4>
-
- <P>Using links to cross-compile TAO may appear simpler at first
- glance. However, storing the location in the
- <CODE>platform_macros.GNU</CODE> is more amenable for
- sites where many developers share the same configuration files,
- or where ACE+TAO are compiled once and used by a medium or large
- size group.
- </P>
+</ol><p>
+
+For NT hosts, please see the detailed instructions for building and
+installing ACE and TAO in <a
+href="../ACE-INSTALL.html#vxworks">../ACE-INSTALL.html</a>. For
+NT hosts, see <a href="../ACE-INSTALL.html#VxWorks/NT">Building
+ACE on Tornado/NT hosts for VxWorks targets</a><p>
+
+Please note that dynamic loading of libraries is not supported by TAO
+for any cross-compiled target. Therefore, dynamic service
+configuration of the TAO ORB is not supported.<p>
+
+If using perfect hashing, TAO_IDL needs gperf to be built on the host.
+That's the default on many platforms. First, build <code>gperf</code>
+in the <code>ACE_wrappers/apps/gperf/src/</code> directory. Then, add
+a symlink or copy to the <code>bin/</code> directory for the
+target.<p>
+
<HR><P>
<H3>On Windows NT</H3>