Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / tao_idl.1
blob49563d67f47721f77ff6c026c4edb2c30c1a34cb
1 .\" Process this file with
2 .\" groff -man -Tascii tao_idl.1
3 .\"
4 .TH tao_idl 1 "DECEMBER 1998" "CORBA Tools" "User Manuals"
5 .SH NAME
6 tao_idl \- Compile IDL sources for use with the ACE ORB (TAO)
7 .SH SYNOPSIS
8 .B tao_idl
9 .BI [ OPTION... ]
10 .I filename
11 .SH DESCRIPTION
12 .B tao_idl
13 is a program that is used to compile
14 .I IDL
15 source code.  The IDL compiler generates 9 files from each .idl file,
16 the file names are obtained by taking the IDL basename and appending
17 C.h, C.inl, C.cpp, S.h, S.inl, S.cpp, S_T.h, S_T.inl, and S_T.cpp; the
18 client stubs are declared in the C.h file, the skeletons in the S.h
19 file. Please see the Options list on how to get different suffixes for
20 these files.
22 Both clients and servers should link against the object files for the stubs
23 and skeletons, this is needed to transparently support collocated objects.
25 The server skeleton can make use of different lookup strategies to match the
26 incoming operation with the correct operation at the servant.  Dynamic Hashing
27 and Perfect Hashing are the two different operation lookup strategies that are
28 currently supported in tao_idl.  By default, tao_idl tries to use Perfect
29 Hashing strategy.  If supported and available, gperf generates the lookup
30 methods for this strategy.
31 .SH OPTIONS
32 .TP
33 .B \-u
34 The compiler prints out the options that are given below and exits clean.
35 .TP
36 .B \-V
37 the compiler printouts its version and exits
38 .TP
39 .BI "\-Wb," "option_list"
40 pass options to the backend
41 .IP
42 .BI "skel_export_macro=" "macro_name"
44 The compiler will emit macro_name right after each class or extern
45 keyword in the generated skeleton code (S files,) this is needed for
46 Windows/NT that requires special directives to export symbols from
47 DLLs, usually the definition is just a space on unix platforms.
48 .IP
49 .BI "skel_export_include=" "include_path"
51 The compiler will generate code to include include_path at the top of
52 the generated server header, this is usually a good place to define
53 the server side export macro.
54 .IP
55 .BI "stub_export_macro=" "macro_name"
57 The compiler will emit macro_name right after each class or extern
58 keyword in the generated stub code, this is needed for Windows/NT that
59 requires special directives to export symbols from DLLs, usually the
60 definition is just a space on unix platforms.
61 .IP
62 .BI "stub_export_include=" "include_path"
64 The compiler will generate code to include include_path at the top of
65 the client header, this is usually a good place to define the export
66 macro.
67 .IP
68 .BI "export_macro=" "macro_name"
70 The compiler will emit macro_name right after each class or extern keyword,
71 this is needed for Windows/NT that requires special directives to export
72 symbols from DLLs, usually the definition is just a space on unix platforms.
73 .IP
74 .BI "export_include=" "include_path"
76 The compiler will generate code to include include_path at the top of the
77 client header, this is usually a good place to define the export
78 macro.
79 .IP
80 .BI "pch_include=" "include_path"
82 The compiler will generate code to include include_path at the top of
83 all TAO IDL compiler generated files. This can be used with a
84 precompiled header mechanism, such as those provided by Borland
85 C++Builder or MSVC++.
86 .TP
87 .B \-E
88 only invoke the preprocessor
89 .TP
90 .BI "-Wp," "option_list"
91 pass options to the preprocessor
92 .TP
93 .BI "\-D" "macro_definition"
94 passed to the preprocessor
95 .TP
96 .BI "\-U" "macro_name"
97 passed to the preprocessor
98 .TP
99 .BI "\-I" "include_path"
100 passed to the preprocessor
102 .BI "\-A" "assertion"
103 passed to the preprocessor
105 .B \-Y
106 passed to the preprocessor
108 .B "\-H perfect_hash"
109 To specify the IDL compiler to generate skelton code that uses perfect
110 hashed operation lookup strategy, which is the default
111 strategy. Perfect hashing uses gperf program, to generate lookup methods.
113 .B "\-H dynamic_hash"
114 To specify the IDL compiler to generate skelton code that uses dynamic
115 hashed operation lookup strategy.
117 .B "\-H binary_search"
118 To specify the IDL compiler to generate skelton code that uses binary search
119 based operation lookup strategy.
121 .B "\-H linear_search"
122 To specify the IDL compiler to generate skelton code that uses linear search
123 based operation lookup strategy.
125 .B "\-in"
126 To generate #include statements with <>'s for the standard include
127 files (e.g. tao/corba.h) indicating them as non-changing files
129 .B "\-ic"
130 To generate #include statements with ""s for changing standard include
131 files (e.g. tao/corba.h).
133 .B \-g
134 To specify the path for the perfect hasing program (GPERF). Default is
135 $ACE_ROOT/bin/gperf or whatever the ACE_GPERF macro was defined to be
136 during compilation of TAO.
138 .B \-o
139 To specify the output directory to IDL compiler as to where all the
140 IDL\-compiler\-generated files are to be put. By default, all the files are
141 put in the current directory from where
142 .B tao_idl
143 is called.
145 .B \-hc
146 Client's header file name ending. Default is "C.h".
148 .B \-hs
149 Server's header file name ending. Default is "S.h".
151 .B \-hT
152 Server's template header file name ending. Default is "S_T.h".
154 .B \-cs
155 Client stub's file name ending. Default is "C.cpp".
157 .B \-ci
158 Client inline file name ending. Default is "C.inl".
160 .B \-ss
161 Server skeleton file name ending. Default is "S.cpp".
163 .B \-sT
164 Server template skeleton file name ending. Default is "S_T.cpp".
166 .B \-si
167 Server inline skeleton file name ending. Default is "S.inl".
169 .B \-st
170 Server's template inline file name ending. Default is "S_T.inl".
172 .B \-t
173 Temporary directory to be used by the IDL compiler. Default : Resolve
174 ACE_DEFAULT_TEMP_DIR_ENV. If it is not defined, choose /tmp/.
176 .B \-Cw
177 Output a warning if two identifiers in the same scope differ in
178 spelling only by case (default for now).
180 .B \-Ce
181 Output an error if two indentifiers in the same scope differ in
182 spelling only by case. Default output is warning (for now).
184 Since there is at least one OMG IDL file (sfp.idl, part of the
185 AVStreams specification) that is inconsistent with its own spelling
186 rule, we have made a warning the default output until the issue is
187 resolved.
189 .B \-Gc
190 Generate stubs and skeletons using compiled marshaling.
192 .B \-Gi
193 Generate stubs and skeletons using interpretive marshaling (default for now).
195 .B \-Gl
196 .B For TAO Core developers only.
197 Generate locality constrained interface implementation. This flag is
198 not of general interests and should never be used by end-users.
200 .B \-Gp
201 Generated collocated stubs that use Thru_POA collocation strategy.
202 (default)
204 .B \-Gd
205 Generated collocated stubs that use Direct collocation strategy.
207 .B \-Gt
208 Generate optimized TypeCodes (unimplemented as yet).
210 .B \-Gv
211 Generate code that supports Object-By-Value.
213 .B \-GI
214 Generate templates files for the servant implementation.
216 .BI "\-GIh " "arg"
217 Servant implemenation header file name ending.
219 .BI "\-GIs " "arg"
220 Servant implemenation skeleton file name ending.
222 .BI "\-GIb " "arg"
223 Prefix to the implementation class names.
225 .BI "\-GIe " "arg"
226 Suffix to the implementation class names.
228 .BI "\-GIc " "arg"
229 Generate copy constructors in the servant implementation template
230 files.
232 .B \-Sa
233 Suppress generation of the
234 .I Any
235 operators
237 .B \-Sp
238 Suppress generation of collocated stubs that use Thru_POA collocation
239 strategy.
241 .B \-Sd
242 Suppress generation of collocated stubs that use Direct collocation
243 strategy. (default)
245 .B \-St
246 Suppress generation of the
247 .I TypeCodes
248 .SH BUGS
249 None.
250 .SH AUTHORS
252 Carlos O'Ryan <coryan@cs.wustl.edu>
254 Ossama Othman <othman@cs.wustl.edu>
255 performed man page conversion from original HTML source
256 .SH "SEE ALSO"
257 .BR gperf (1)