1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Using Babel</TITLE>
<META NAME="description" CONTENT="Using Babel">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="users_guide.css">
<LINK REL="next" HREF="node39.html">
<LINK REL="previous" HREF="node37.html">
<LINK REL="up" HREF="node37.html">
<LINK REL="next" HREF="node39.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html1140"
HREF="node39.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1134"
HREF="node37.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1128"
HREF="node37.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1136"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html1138"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1141"
HREF="node39.html">Long and Short Forms</A>
<B> Up:</B> <A NAME="tex2html1135"
HREF="node37.html">Command Line Options</A>
<B> Previous:</B> <A NAME="tex2html1129"
HREF="node37.html">Command Line Options</A>
<B> <A NAME="tex2html1137"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html1139"
HREF="node317.html">Index</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION02221000000000000000">
Using Babel</A>
</H2>
<P>
Babel requires exactly one of the following
mutually exclusive arguments on the command line.
<UL>
<LI><TT><B><code>--</code>help</B></TT> : Print options to stdout.
</LI>
<LI><TT><B><code>--</code>version</B></TT> : Print version of Babel.
</LI>
<LI><TT><B><code>--</code>text=<I CLASS="sans"><I CLASS="slanted">form</I></I></B></TT> :
Generate text equivalent ("sidl" or "xml") of associated package(s).
</LI>
<LI><TT><B><code>--</code>client=<I CLASS="sans"><I CLASS="slanted">lang</I></I></B></TT> :
Generate client, or proxy, classes to access library.
</LI>
<LI><TT><B><code>--</code>server=<I CLASS="sans"><I CLASS="slanted">lang</I></I></B></TT> :
Generate the server and client classes to implement the library.
</LI>
<LI><TT><B><code>--</code>parse-check</B></TT> :
Check the SIDL file only.
</LI>
<LI><TT><B><code>--</code>generate-sidl-stdlib</B></TT> :
Regenerate the Babel runtime library.
</LI>
</UL>
By far, the three most common uses of Babel will be
to generate the Client-side proxies, Server-side
implementations, and XML associated with the SIDL file.
The last option is essentially used internally when the Babel runtime
library is being developed.
<P>
Additionally, there are a few supplemental arguments
that complete the picture.
<UL>
<LI><TT><B><code>--</code>output-directory=<I CLASS="sans"><I CLASS="slanted">dir</I></I></B></TT> :
Specifies the root directory associated with the
generated files. The default setting is
the current working directory.
</LI>
<LI><TT><B><code>--</code>generate-subdirs</B></TT> :
Generates files in a directory tree
matching the packaging scope of the SIDL file. This
is on by default for languages that have this
requirement, such as Java and Python, but off
by default for languages that have no such
requirement. Hence, code generation for only the
latter languages (e.g. C, C++, F77, F90) is effected
by this option.
</LI>
<LI><TT><B><code>--</code>short-file-name</B></TT> :
When the <code>--</code>generate-subdirs and
<code>--</code>short-file-names options are
used simultaneously, the generated file names will not include
package names, just the class or interface symbol. Thus,
either long or short names must be used in all clients or
servers that have interdependencies; mixing short and long
names will result in compile and/or runtime errors.
</LI>
<LI><TT><B><code>--</code>repository-path=<I CLASS="sans"><I CLASS="slanted">path</I></I></B></TT> :
Specifies a semicolon separated list of directories,
or URLs<A NAME="tex2html21"
HREF="footnode.html#foot1017"><SUP><SPAN CLASS="arabic">4</SPAN>.<SPAN CLASS="arabic">1</SPAN></SUP></A> to search for XML Type descriptions. The need for
these XML types is to resolve references in the
SIDL file.
This option can be used multiple times on the same
command line. If appropriate, the Babel script
adds the default repository path to the command line
before dispatching to the Java Virtual Machine.
</LI>
<LI><TT><B><code>--</code>no-default-repository</B></TT> :
Prohibits the use of the default repository
in resolving symbols.
</LI>
<LI><TT><B><code>--</code>suppress-timestamp</B></TT> :
Suppresses the insertion of meta-information that
could result in generated files that would otherwise
not differ from prior executions on the same, unchanged
input file.
Typically Babel inserts meta-information such as
creation time into files it generates. Although
this information is useful, it does result in the
creation of excessive changes when using version control systems.
</LI>
<LI><TT><B><code>--</code>exclude=<I CLASS="sans"><I CLASS="slanted">regex</I></I></B></TT> :
This options can be used multiple times. Each time you
add a regular expression that will be used to exclude
symbols from code generation. No code or XML will be
generated for any symbol matching the user provided
regular expression. This command line option requires
version 1.4.0 or later of the Java runtime environment.
</LI>
<LI><TT><B><code>--</code>comment-local-only</B></TT> :
This option reduces the amount of comments in stub
C header files. It will only include the doc comments
for locally defined method. It will not include doc
comments for inherited methods.
</LI>
<LI><TT><B><code>--</code>hide-glue</B></TT> :
This option causes all non-impl files to be generated
in a <TT>glue/</TT> subdirectory. This reduces the
``clutter'' in the current directory.
</LI>
<LI><TT><B><code>--</code>language-subdir</B></TT> :
This options causes all generated files to be stored in a
language-dependent subdirectory; if the <TT><B> <code>--</code>generate-subdirs</B></TT> option is also used, the language
directory will be at the bottom of the hierarchy.
</LI>
<LI><TT><B><code>--</code>exclude-external</B></TT> :
This option causes code to be generated only for the symbols
specified on the command line. No code is generated for symbols
on which the users symbols depend.
</LI>
<LI><TT><B><code>--</code>cxx-ior-exception</B></TT> :
Earlier versions of the Babel C++ bindings checked the IOR
pointer in a given stub before making any calls on it. If the IOR was
null, a NullIORException was thrown. It was later found that in
certain cases these checks were taking an inordinent amount of time,
and since C++ does not normally check pointers before dereferencing
them, it was decided that this feature was out of line with the spirit
of C++. However, since some code had already been written that used
this feature, we could not completely eliminate the checks.
Therefore, this command line option was added. Calling babel
with it will generate C++ stubs with the
checks in them. This option has no effect on other languages.
</LI>
<LI><TT><B><code>--</code>vpath=<I CLASS="sans"><I CLASS="slanted">dir</I></I></B></TT> : This
option sets the root directory Babel searches first when trying to
load implementation files to preserve splicer block contents in the hand
edited implementation files. If you are generating server-side C for
a concrete class <TT>x.y.z</TT> and you used <TT><B> <code>--</code>vpath=/tmp</B></TT>, Babel would try to read splicer blocks from
<TT>/tmp/x_y_z_Impl.h</TT> and <TT>/tmp/x_y_z_Impl.c</TT>. If it does
not find either file in <TT>/tmp</TT>, it also checks the current
directory. If you are using <TT><B> <code>--</code>generate-subdirs</B></TT> with <TT><B><code>--</code>vpath</B></TT>, the
vpath directory is the root of the tree, so for the example, Babel
would search for <TT>/tmp/x/y/z_Impl.h</TT> and
<TT>/tmp/x/y/z_Impl.c</TT>. When appropriate, Babel inserts
<TT>#line</TT> directives to refer debuggers to the original
file. As its name suggests, this option is useful when making vpath
builds using make. Some people also use it to avoid spurious changes
to the files managed by their revision control system.
</LI>
</UL>
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html1140"
HREF="node39.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1134"
HREF="node37.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1128"
HREF="node37.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1136"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html1138"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1141"
HREF="node39.html">Long and Short Forms</A>
<B> Up:</B> <A NAME="tex2html1135"
HREF="node37.html">Command Line Options</A>
<B> Previous:</B> <A NAME="tex2html1129"
HREF="node37.html">Command Line Options</A>
<B> <A NAME="tex2html1137"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html1139"
HREF="node317.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>
|