omniidl (1) - Linux Manuals

omniidl: omniORB idl compiler


omniidl - omniORB idl compiler


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


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.


Run the specified back-end (e.g., -bcxx = C++, -bpython = Python)
Define <name> for the C preprocessor.
Undefine <name> for the C preprocessor.
Include <dir> in the C preprocessor search path.
Only run the C preprocessor, sending its output to stdout.
Use <cmd> as the preprocessor instead of the default.
Do not run the C preprocessor.
Send <arg> to the C preprocessor.
Send <arg> to the back-end.
Do not warn about unresolved forward declarations.
Keep comments after declarations, to be used by some back-ends.
Keep comments before declarations, to be used by some back-ends.
Change directory to <dir> before writing output files.
Dump the parsed IDL then exit, without running a back-end.
Use <dir> as a path to find omniidl back-ends.
Print version information then exit.
Print usage information.
Verbose: trace compilation stages.


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 to the base name of the input IDL file.

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


Use <suffix> instead of .hh
Use <suffix> instead of
Use <suffix> instead of If the same suffix is specified for -Wbs and -Wbd then a single skeleton file containing all the definitions is output.
Generate definitions for TypeCode and Any.
Output stubs for #included IDL files in line with the main file.
Generate tie implementation skeletons.
Generate flattened tie implementation skeletons.
Splice together multiply-opened modules into one.
Generate example implementation code.
Generate BOA compatible skeletons.
Preserve IDL #include paths in generated #include directives.
Use quotes in #include directives (e.g. "foo" rather than <foo>).


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.


Output stubs for #included IDL files in line with the main file.
Use <name> as the name for the global IDL scope (default _GlobalIDL).
Put both Python modules and stub files in package <name>.
Put Python modules in package <name>
Put stub files in package <name>


Duncan Grisby


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