omniidl - Man Page

omniORB idl compiler

Synopsis

omniidl [options] -b<back-end> [back-end options] file

Description

omniidl is the omniORB IDL compiler front end. If a back-end is not specified, it checks the input IDL file for validity, and produces no output. Usually, a language mapping back-end is specified, so stubs and skeletons in the target language are produced.

The input files are processed by the C preprocessor before they are parsed by the compiler.

Common Options

-b<backend>

Run the specified back-end (e.g., -bcxx = C++, -bpython = Python)

-D<name>=<value>

Define <name> for the C preprocessor.

-U<name>

Undefine <name> for the C preprocessor.

-I<dir>

Include <dir> in the C preprocessor search path.

-E

Only run the C preprocessor, sending its output to stdout.

-Y<cmd>

Use <cmd> as the preprocessor instead of the default.

-N

Do not run the C preprocessor.

-Wp<arg>

Send <arg> to the C preprocessor.

-Wb<arg>

Send <arg> to the back-end.

-nf

Do not warn about unresolved forward declarations.

-k

Keep comments after declarations, to be used by some back-ends.

-K

Keep comments before declarations, to be used by some back-ends.

-C<dir>

Change directory to <dir> before writing output files.

-d

Dump the parsed IDL then exit, without running a back-end.

-p<dir>

Use <dir> as a path to find omniidl back-ends.

-V

Print version information then exit.

-u

Print usage information.

-v

Verbose: trace compilation stages.

C++ Back-End

Choose the C++ back-end with -bcxx. The C++ back-end is only available when you have omniORB for C++ installed.

The C++ back-end produces two output files: a header and a stub/skeleton file. By default they are named by appending suffixes .hh and SK.cc to the base name of the input IDL file.

If the -Wba option is specified, then a third file is generated (with default suffix DynSK.cc ), containing code for TypeCode and Any.

C++ Back-End Options

-Wbh=<suffix>

Use <suffix> instead of .hh

-Wbs=<suffix>

Use <suffix> instead of SK.cc

-Wbd=<suffix>

Use <suffix> instead of DynSK.cc. If the same suffix is specified for -Wbs and -Wbd then a single skeleton file containing all the definitions is output.

-Wba

Generate definitions for TypeCode and Any.

-Wbinline

Output stubs for #included IDL files in line with the main file.

-Wbtp

Generate tie implementation skeletons.

-Wbtf

Generate flattened tie implementation skeletons.

-Wbsplice-modules

Splice together multiply-opened modules into one.

-Wbexample

Generate example implementation code.

-WbBOA

Generate BOA compatible skeletons.

-Wbkeep_inc_path

Preserve IDL #include paths in generated #include directives.

-Wbuse_quotes

Use quotes in #include directives (e.g. "foo" rather than <foo>).

Python Back-End

Choose the Python back-end with -bpython. The Python back-end produces Python packages according to the standard IDL to Python mapping, to be used with omniORBpy. The Python back-end is only available when you have omniORBpy installed.

The Python back-end generates Python package directories named after the modules declared in IDL, as required by the IDL to Python mapping. It also creates separate stub files that are imported by the packages.

Python Back-End Options

-Wbinline

Output stubs for #included IDL files in line with the main file.

-Wbglobal=<name>

Use <name> as the name for the global IDL scope (default _GlobalIDL).

-Wbpackage=<name>

Put both Python modules and stub files in package <name>.

-Wbmodules=<name>

Put Python modules in package <name>

-Wbstubs=<name>

Put stub files in package <name>

See Also

See the omniORB or omniORBpy manual for full details of omniidl.

Author

Duncan Grisby

Referenced By

omnicpp(1).

2001 AT&T Laboratories, Cambridge