[Enterprise Extensions only]

Options for the idlc command

Options for the idlc command are preceeded with a dash (-) character and can be specified individually or run together. For example, -p -v -V or -pvV are acceptable.

Some options accept an argument. Where several options have the same argument, these options can also be specified individually or run together. For example, -p -m tie or -pm tieare acceptable.

The space between the option and its argument is optional. For example, either -mtie or -m tieare acceptable.

All options are case-sensitive, even on platforms where filenames are not case-sensitive.

The following table describes each available option:

idlc command options

Option Description
-d directory-name Specifies the directory in which to place emitted output files and directories. If none is specified, the default is the current directory.
-V Shows the version number of the idlc command.
-v Specifies verbose mode. This shows all internal commands (and their arguments) issued by the idlc command.
-? (or -h) Writes a brief description of the idlc command syntax to standard output.
-D define-expression Predefines a preprocessor variable for the IDL compiler.
-I include-directory Adds a directory to the list of directories used by the IDL compiler to find #include files. In addition to the -I option, the IDLC_INCLUDE environment variable can be used to specify a list, with include-directory names separated by the PATH separator character.
-i file-name Specifies the name of a file to be compiled that does not have the .idl extension. The file-name should not have an implicit .idl suffix added to its name.
-p Used as a shorthand for -D__PRIVATE__.
-e (or -s) emit-list Specifies a list of emitters to run. Emitters generate output files that contain language-specific usage and implementation bindings appropriate to each named input file. The rules used to generate the names of these output files are described in the following topics:Each emitter in the list is separated from the others by a colon (:) or semicolon (;) character. Valid emitter names are:
hh
Produces C++ usage bindings. If no modifiers are present, bindings with support for remotable cross-language operation are produced. The cpponly, localonly, and somthis modifiers cause specialized bindings to be produced (see -mname[=value]).
sc
Produces a C++ skeleton for the basic object adapter of the ORB. If no modifiers are present, bindings with support for remotable cross-language operation are produced. The cpponly, localonly, and somthis modifiers cause specialized bindings to be produced (see -mname[=value]).
uc
Produces local implementations needed by the C++ usage bindings. If no modifiers are present, bindings with support for remotable cross-language operation are produced. The cpponly, localonly, and somthis modifiers cause specialized bindings to be produced (see -mname[=value]).
ih
Produces a C++ implementation header.
ic
Produces a template file for the C++ managed object implementation code.
ir
Updates the CORBA Interface Repository with the interfaces in this compilation unit.
-m name[=value] Specifies an output modifier. A modifier can be given as a name or a name=value expression. The emitters are sensitive to the following modifiers:
LINKAGE=value
Used to insert customized C++ linkage modifiers into the generated bindings.
notcconsts
Eliminates the generation of C++ TypeCode constants and overloaded any operators.
tie
Generates "tie-style" bindings that assume delegation rather than inheritance.
cpponly
Suppresses the production of cross-language bindings and produces standard CORBA C++ bindings suiitable for use with a standalone ORB. cpponly affects the bindings produced by the hh, sc, and uc emitters.
localonly
Generates bindings that can only be used to access a local object for all of the most-derived interfaces in the IDL file.
orbadaptor
Generates C++ bindings that allow the C++ ORB to dispatch Java implementations.
IRforce
Forces the interface repository (IR) emitter to destroy objects already present in the IR with the same name as in the IDL being produced.
dllname=value
Puts Windows NT import or export, or both, specifications into classes contained in the DLL named by value.
preInclude=file-name
Adds the line:
#include file-name
to the .hh file, just before the line that includes corba.h.
postInclude=file-name
Adds the line:
#include file-name
just before the end of the .hh file.
-J Passes options through to the Java interpreter used internally. For example:
-J"-mx32m"
sets the heap size for the interpreter to 32M.