### Using The generate_component_mpc.pl Script

This document describes the options and usage of the Perl script `generate_component_mpc.pl` in the `$(CIAO_ROOT)/bin` directory.

#### Assumptions

This script is useful for generating MPC files for relatively simple component applications. The string name passed to the script should be the name of the single IDL file for that build (without the extension) and also the name of the single CIDL file, if it is a component build. The names of export files, preprocessor macros, and library names in the generated MPC file will all be constructed from this string. It is also assumed that the IDL file for a component build will contain a single component declaration.

Judicious use of the script options in the table below will generate a build that keeps to a minimum both the code generated from IDL and the number of linked libraries from the middleware.

#### Script Options

Option | Description | Remark
--- | --- | ---
`-h` | The compiler prints out the options that are given below and exits clean |
`-p` string | Indicates another make/project that this one depends on | Used as a project name prefix unless overridden by `-u` option
`-l` string | Path to the dependent name value of `-p` | Needed only if the dependent make/project isn't already in the search path
`-n` | Non-component make/project | Generates a `*_stub` and `*_skel` pair of builds, instead of the default `*_stub`, `*_svnt` and `*_exec` builds.
`-c` | Create a client make/project | Generates a build for a "driver" executable. Assumes there is a single C++ source file named `client.cpp`
`-u` string | Unique project name prefix | Occasionally needed since MPC doesn't accept duplicate project names anywhere in the tree over which it is proecessing. This option overrides the value of the `-p` option, if present