#### 6.3.2 Usage of `idlac`

`idlac` is PolyORB's IDL-to-Ada compiler.

         NAME
                idlac - PolyORB's IDL-to-Ada compiler

         SYNOPSIS
                idlac [-Edikpqv] [-[no]ir] [-gnatW8] [-o DIR] idl_file [-cppargs ...]

         DESCRIPTION
                idlac is an IDL-to-Ada compiler, compliant with version 1.2 of the
                ``Ada Language Mapping Specification'' produced by the OMG.

         OPTIONS
                idlac accepts the following options:

                -E      Preprocess only.

                -d      Generate delegation package.

                -i      Generate implementation template.

                -s      Generate server side code.

                -c      Generate client side code.

                -k      Keep temporary files.

                -p      Produce source on standard output.

                -q      Be quiet (default).

                -v      Be verbose.

                -ir     Generate code for interface repository.

                -noir   Don't generate code for interface repository (default).

                -gnatW8
                        Use UTF8 character encoding

                -o DIR Specify output directory

                -cppargs ARGS
                        Pass ARGS to the C++ preprocessor.

                -I dir  Shortcut for -cppargs -I dir.

         EXIT STATUS
                idlac returns one of the following values upon exit:

                0      Successful completion

                1      Usage error

                2      Illegal IDL specification

`idlac` creates several files :

- `myinterface.ads`, `myinterface.adb` : these files contain the mapping for user defined types (client and server side).
- `myinterface-impl.ads`, `myinterface-impl.adb` : these files are to be filled in by the user. They contain the implementation of the server. They are generated only if the -i flag is specified.
- `myinterface.ads`, `myinterface.adb` : these files contain the client stubs for the interface.
- `myinterface-skel.ads`, `myinterface-skel.adb` : these files contain the server-side skeletons for the interface.
- `myinterface-helper.ads`, `myinterface-helper.adb` : these files contain subprograms to marshal data into CORBA Any containers.
- `myinterface-ir_info.ads`, `myinterface-ir_info.adb` : these files contain code for registering IDL definitions in the CORBA Interface Repository. They are generated only if the `'-ir'` flag is specified.