---
name: "orbit-idl"
section: "1"
platform: "linux"
package: "liborbit-dev"
version: "0.5.17-11.2"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/orbit-idl"
---

# orbit-idl(1)

IDL compiler for ORBit

## NAME

orbit-idl - IDL compiler for ORBit

## SYNOPSIS

**orbit-idl** \[ *options* \] *file...*

## DESCRIPTION

**orbit-idl** converts object interface descriptions written in CORBA IDL (Interface Definition Language) into C code that you can compile and link into your programs.

## OPTIONS

**orbit-idl** accepts the following options:

- **-d** *ARG*

  **--debug=***ARG*

  Set the debug level.  Supported levels are 0 to 4, default is 2.

  - **--skeleton-impl**

    Generate a *skeleton-impl* file.

  - **--nostubs**

    Do not create the *stubs* file.

  - **--noskels**

    Do not create the *skels* file.

  - **--nocommon**

    Do not create the *common* file.

  - **--noheaders**

    Do not create the *headers* file.

  **-D** *ARG*

  **--define=***ARG*

  Define name for preprocessor.

  **-I** *PATH*

  **--include=***PATH*

  Add search path for include files.

  - **--c-output-formatter=***PROGRAM*

    Define the program to use for formatting the compiler output; defaults to [indent(1)](/indent/1.md).

  **-l** *ARG*

  **--lang=***ARG*

  Specify the output language.  The default is C.  Support for languages other than C requires the installation of a backend for that language.

  - **--backenddir=***DIR*

    Specify the directory where a language backend is stored (not necessary if backend is stored in the default directory, /usr/lib/orbit-idl.)

  - **--usage**

    Print a very brief usage summary.

  **-?**

  **--help**

  Print a slightly more detailed usage summary.

## COMPILING

The IDL file(s) compiled by **orbit-idl** define the interfaces to network-transparent objects.  These files are first passed to [cpp(1)](/cpp/1.md), the C Preprocessor, then the result is parsed, and the C code is generated.

 By default, **orbit-idl** generates four files, the *stubs*, *skels*, *common*, and *header* files.  If your input file is named **sample.idl**, then the output files will be named, respectively, **sample-stubs.c**, **sample-skels.c**, **sample-common.c**, and **sample.h**.  You can optionally also generate a *skeleton-impl* file (which would be named **sample-skelimpl.c** in our example).  This file requires manual editing to be useful, and is therefore not generated by default.

The generated C files are formatting ("pretty-printed") using [indent(1)](/indent/1.md).  You can use another program for this if you prefer, with the --c-output-formatter argument.

## SEE ALSO

[orbit-config(1)](/orbit-config/1.md), [cpp(1)](/cpp/1.md), [indent(1)](/indent/1.md), /usr/share/doc/liborbit-dev, http://orbit-resource.sourceforge.net, http://www.omg.org.

## AUTHOR

Copyright © 2001, 2002 Dick Porter \<dick@acm.org\> and Elliot Lee \<sopwith@redhat.com\>

This manual was originally written for orbit-idl by Chris Waters \<xtifr@debian.org\> for Debian GNU/Linux.
