22. Creating Sample Bodies Using gnatstub
gnatstub
creates body stubs, that is, empty but compilable bodies
for library unit declarations.
To create a body stub, gnatstub
has to compile the library
unit declaration. Therefore, bodies can be created only for legal
library units. Moreover, if a library unit depends semantically upon
units located outside the current directory, you have to provide
the source search path when calling gnatstub
, see the description
of gnatstub
switches below.
22.1 Running gnatstub
gnatstub
has the command-line interface of the form
| $ gnatstub [switches] filename [directory]
|
where
- filename
- is the name of the source file that contains a library unit declaration
for which a body must be created. The file name may contain the path
information.
The file name does not have to follow the GNAT file name conventions. If the
name
does not follow GNAT file naming conventions, the name of the body file must
be provided
explicitly as the value of the `-obody-name' option.
If the file name follows the GNAT file naming
conventions and the name of the body file is not provided,
gnatstub
creates the name
of the body file from the argument file name by replacing the `.ads'
suffix
with the `.adb' suffix.
- directory
- indicates the directory in which the body stub is to be placed (the default
is the
current directory)
- switches
- is an optional sequence of switches as described in the next section
22.2 Switches for gnatstub
- `-f'
-
If the destination directory already contains a file with the name of the
body file
for the argument spec file, replace it with the generated body stub.
- `-hs'
-
Put the comment header (i.e., all the comments preceding the
compilation unit) from the source of the library unit declaration
into the body stub.
- `-hg'
-
Put a sample comment header into the body stub.
- `-IDIR'
-
- `-I-'
-
These switches have the same meaning as in calls to
gcc
.
They define the source search path in the call to
gcc
issued
by gnatstub
to compile an argument source file.
- `-gnatecPATH'
-
This switch has the same meaning as in calls to
gcc
.
It defines the additional configuration file to be passed to the call to
gcc
issued
by gnatstub
to compile an argument source file.
- `-gnatyMn'
-
(n is a non-negative integer). Set the maximum line length in the
body stub to n; the default is 79. The maximum value that can be
specified is 32767. Note that in the special case of configuration
pragma files, the maximum is always 32767 regardless of whether or
not this switch appears.
- `-gnatyn'
-
(n is a non-negative integer from 1 to 9). Set the indentation level in
the generated body sample to n.
The default indentation is 3.
- `-gnatyo'
-
Order local bodies alphabetically. (By default local bodies are ordered
in the same way as the corresponding local specs in the argument spec file.)
- `-in'
-
Same as `-gnatyn'
- `-k'
-
Do not remove the tree file (i.e., the snapshot of the compiler internal
structures used by
gnatstub
) after creating the body stub.
- `-ln'
-
Same as `-gnatyMn'
- `-obody-name'
-
Body file name. This should be set if the argument file name does not
follow
the GNAT file naming
conventions. If this switch is omitted the default name for the body will be
obtained
from the argument file name according to the GNAT file naming conventions.
- `-q'
-
Quiet mode: do not generate a confirmation when a body is
successfully created, and do not generate a message when a body is not
required for an
argument unit.
- `-r'
-
Reuse the tree file (if it exists) instead of creating it. Instead of
creating the tree file for the library unit declaration,
gnatstub
tries to find it in the current directory and use it for creating
a body. If the tree file is not found, no body is created. This option
also implies `-k', whether or not
the latter is set explicitly.
- `-t'
-
Overwrite the existing tree file. If the current directory already
contains the file which, according to the GNAT file naming rules should
be considered as a tree file for the argument source file,
gnatstub
will refuse to create the tree file needed to create a sample body
unless this option is set.
- `-v'
-
Verbose mode: generate version information.
This document was generated
by Mail Server on June, 15 2005
using texi2html