


IDL(1)                                                     IDL(1)


NAME
       idl - MICO IDL tool

SYNOPSIS
       idl [<options>] [<file>]

DESCRIPTION
       The  idl tool is used for translating IDL-specifications to C++ as well
       as feeding IDL-specifications into the interface repository.   The  idl
       tool  takes its input either from a file or an interface repository and
       generates code for C++ or CORBA-IDL. If the input is taken from a file,
       the idl tool can additionally feed the specification into the interface
       repository.

OPTIONS
       --help Gives an overview of all supported command line options.

       --version
              Prints the version of MICO.

       --config
              Prints some important MICO configuration infos.

       -D<define>
              Defines a preprocessor macro. This option is equivalent  to  the
              -D switch of most Unix C-compilers.

       -B<prefix>
              This  option specifies the prefix to the include directory where
              to find the include files of the compiler itself.

       -I<path>
              Defines a search path for #include directives.  This  option  is
              equivalent to the -I switch of most Unix C-compilers.  When gen-
              erating #include directives, the IDL  compiler  relativizes  the
              included  file  against  the best match among the defined search
              paths.

       --codegen-c++
              Tells idl to generate code for C++ as defined  by  the  language
              mapping  IDL  to  C++. The idl tool will generate two files, one
              ending in .h and one in .cc with the same basenames. This option
              is the default.

       --no-codegen-c++
              Turns off the code generation for C++.

       --no-exceptions
              Tells  idl  to disable exception handling in the generated code.
              Code for the exception classes is still generated  but  throwing
              exceptions  will  result  in an error message and abort the pro-
              gram. This option can only be used in conjunction  with  --code-
              gen-c++ This option is off by default.




                           Oct 15 1997                          1





IDL(1)                                                     IDL(1)


       --codegen-idl
              Turns  on  the code generation for CORBA--IDL. The idl tool will
              generate a file which contains the IDL specification  which  can
              again  be  fed  into  the idl tool.  The basename of the file is
              specified with the --name option.

       --no-codegen-idl
              Turns off the code generation of CORBA-IDL. This option  is  the
              default.

       --c++-suffix=<suffix>
              If  --codegen-c++  is  selected, then this option determines the
              suffix for the C++ implementation file. The default is 'cc'

       --c++-impl
              This option will cause the generation of some default C++ imple-
              mentation classes for all interfaces contained in the IDL speci-
              fication. This option requires --codegen-c++

       --c++-skel
              Generate a separate file with suffix _skel.cc that contains code
              only  needed  by servers (i.e., the skeletons).  By default this
              code is emitted in the standard C++ implementation files.   This
              option requires --codegen-c++

       --hh-prefix=<hh-prefix>
              If  --codegen-c++  is  selected, then this option causes the IDL
              compiler to generate the include statement for  the  C++  header
              file  with the path prefix hh-prefix. The default is not to pre-
              fix a path.

       --hh-suffix=<suffix>
              If --codegen-c++ is selected, then this  option  determines  the
              suffix for the C++ header file. The default is 'h'

       --use-quotes
              If selected, #include directives are generated as #include "..."
              instead of #include <...>

       --no-paths
              If selected, #include directives are generated without any  path
              components.

       --include-prefix<include-prefix>
              This option causes the IDL compiler to substitute any occurrence
              of the include path  specified  by  the  closest  preceeding  -I
              option  with include-prefix when generating #include directives.

       --include-postfix<include-postfix>
              This option causes the IDL compiler  to  insert  include-postfix
              between  any  occurrence  of  the  include path specified by the
              closest preceeding -I option and the remaining subdirectory  and
              file name when generating #include directives.




                           Oct 15 1997                          2





IDL(1)                                                     IDL(1)


       --emit-repoids
              This  option  will cause #pragma directives to be emitted, which
              associate the repository id of each IDL construct.  This  option
              can only be used in conjunction with the option --codegen-idl

       --do-not-query-server-for-narrow
              If  this option is used, the IDL compiler will omit special code
              for _narrow() methods which  inhibits  the  querying  of  remote
              servers  at  runtime. In certain circumstances this is permissi-
              ble,  resulting  in  more  efficient  runtime   behaviour.   See
              test/idl/26/README for further comments.

       --feed-ir
              The CORBA-IDL which is specified as a command line option is fed
              into the interface repository. This option requires the ird dae-
              mon to be running.

       --feed-included-defs
              This  option  can only be used in conjunction with --feed-ir are
              fed into the interface repository as well.  The  default  is  to
              feed only the definitions of the main IDL file into the IR.

       --repo-id=<id>
              The  code  generation  is done from the information contained in
              the interface  repository  instead  from  a  file.  This  option
              requires  the  ird daemon to be running. The parameter <id> is a
              repository identifier and must denote a CORBA module.

       --name=<prefix>
              This option controls the prefix of the file names if a code gen-
              eration  is  selected.  This option is mandatory if the input is
              taken from the interface repository. If the input is taken  from
              a  file,  the  prefix  is  derived from the basename of the file
              name.

       --pseudo
              Generates code for "pseudo interfaces". No stubs,  skeletons  or
              code  for  marshalling  data to and from "any" variables is pro-
              duced. Only supported for C++ code generation.

       --any  Activates support for insertion and extraction operators of user
              defined  IDL types for Any. Can only be used in conjunction with
              --codegen-c++ This option implies --typecode

       --typecode
              Generates code for TypeCodes of user defined IDL types. Can only
              be used in conjunction with --codegen-c++

       --boa  Generates skeletons that use the Basic Object Adapter (BOA).

       --no-boa
              Turns  off code generation of skeletons for the BOA. This is the
              default.




                           Oct 15 1997                          3





IDL(1)                                                     IDL(1)


       --poa  Generates skeletons that use the Portable Object Adapter  (POA).
              This is the default.

       --no-poa
              Turns off code generation of skeletons for the POA.

       --gen-included-defs
              Generate code that was included using the #include directive.

       --gen-full-dispatcher
              Usually  the  skeleton class generated for an interface contains
              only the dispatcher for the operations and attributes defined in
              this  interface.  With  this  option,  the  dispatcher will also
              include operations and attributes inherited from all base inter-
              faces.

FILES
       ~/.micorc

SEE ALSO
       MICO Reference Manual, rsh(1), micod(1), imr(1), ird(1), micorc(5)

COPYRIGHT
       Copyright (C) 1997, Kay Roemer & Arno Puder

AUTHOR
       Kay Roemer & Arno Puder






























                           Oct 15 1997                          4


