NAME
getdefs - AutoGen Definition Extraction Tool
SYNOPSIS
getdefs
[opt-name[=value]]...
All arguments are named options.
If no input argument is provided or is set to simply "-", and if
stdin is not a tty, then the list of input files will be
read from stdin.
DESCRIPTION
This manual page documents, briefly, the
getdefs command.
This program extracts
AutoGen definitions from a list of
source files. Definitions are delimited by "/*=<entry-type>
<entry-name>\n" and "=*/\n". From that, this program creates
a definition of the following form:
#line nnn "source-file-name"
entry_type = {
name = entry_name;
...
};
The ellipsis `...' is filled in by text found between the two
delimiters, with everything up through the first sequence of
asterisks deleted on every line. Additionally, if the
`<entry-name>' is followed by a comma, the word `ifdef' (or
`ifndef') and a name `if_name', then the above entry will
appear as:
#ifdef if_name
#line nnn "source-file-name"
entry_type = {
name = entry_name;
...
};
#endif
There are two special entry types:
* The entry_type enclosure and the name entry will be omitted
and the ellipsis will become top-level definitions.
-- The contents of the comment must be a single getdefs option.
The option name must follow the double hyphen and its argument
will be everything following the name. This is intended for use
with the subblock and listattr options.
OPTIONS
R defs-to-get = reg-ex
Regexp to look for after the "/*=".
If you want definitions only from a particular category, or even
with names matching particular patterns, then specify this regular
expression for the text that must follow the /*=.
R ordering [ =file-name], no-ordering
Alphabetize or use named file.
The no-ordering form will disable the option.
This option is enabled by default.
By default, ordering is alphabetical by the entry name. Use,
no-ordering if order is unimportant. Use ordering
with no argument to order without case sensitivity. Use
ordering=<file-name> if chronological order is important.
getdefs will maintain the text content of file-name.
file-name need not exist.
R first-index = first-index
The first index to apply to groups.
This option takes an integer number as its argument.
The default first-index for this option is:
0
By default, the first occurrence of a named definition will have an
index of zero. Sometimes, that needs to be a reserved value. Provide
this option to specify a different starting point.
R input = src-file
Input file to search for defs.
This option may appear an unlimited number of times.
This option is the default option.
All files that are to be searched for definitions must be named on
the command line or read from stdin. If there is only one
input option and it is the string, "-", then the input file
list is read from stdin. If a command line argument is not
an option name and does not contain an assignment operator
(=), then it defaults to being an input file name.
At least one input file must be specified.
R subblock = sub-def
subblock definition names.
This option may appear an unlimited number of times.
This option is used to create shorthand entries for nested definitions.
For example, with:
R using subblock thus
--subblock=arg=argname,type,null
R and defining an arg thus
arg: this, char *
R will then expand to:
arg = { argname = this; type = "char *"; @;}
The "this, char *" string is separated at the commas, with the
white space removed. You may use characters other than commas by
starting the value string with a punctuation character other than
a single or double quote character. You may also omit intermediate
values by placing the commas next to each other with no intervening
white space. For example, "+mumble++yes+" will expand to:
arg = { argname = mumble; null = "yes"; @;}.
R listattr = def
attribute with list of values.
This option may appear an unlimited number of times.
This option is used to create shorthand entries for definitions
that generally appear several times. That is, they tend to be
a list of values. For example, with:
listattr=foo defined, the text:
foo: this, is, a, multi-list will then expand to:
foo = 'this', 'is', 'a', 'multi-list';
The texts are separated by the commas, with the
white space removed. You may use characters other than commas by
starting the value string with a punctuation character other than
a single or double quote character.
R filelist [ =file]
Insert source file names into defs.
Inserts the name of each input file into the output definitions.
If no argument is supplied, the format will be:
infile = '%s';
If an argument is supplied, that string will be used for the entry
name instead of
infile.
Definition insertion options
R assign = ag-def
Global assignments.
This option may appear an unlimited number of times.
The argument to each copy of this option will be inserted into
the output definitions, with only a semicolon attached.
R common-assign = ag-def
Assignments common to all blocks.
This option may appear an unlimited number of times.
The argument to each copy of this option will be inserted into
each output definition, with only a semicolon attached.
R copy = file
File(s) to copy into definitions.
This option may appear an unlimited number of times.
The content of each file named by these options will be inserted into
the output definitions.
R srcfile [ =file]
Insert source file name into each def.
Inserts the name of the input file where a definition was found
into the output definition.
If no argument is supplied, the format will be:
srcfile = '%s';
If an argument is supplied, that string will be used for the entry
name instead of
srcfile.
R linenum [ =def-name]
Insert source line number into each def.
Inserts the line number in the input file where a definition
was found into the output definition.
If no argument is supplied, the format will be:
linenum = '%s';
If an argument is supplied, that string will be used for the entry
name instead of
linenum.
Definition output disposition options:
R output = file
Output file to open.
This option is a member of the autogen class of options.
If you are not sending the output to an AutoGen process,
you may name an output file instead.
R autogen [ =ag-cmd], no-autogen
Invoke AutoGen with defs.
The no-autogen form will disable the option.
This option is enabled by default.
This option is a member of the autogen class of options.
This is the default output mode. Specifying no-autogen is
equivalent to output=-. If you supply an argument to this
option, that program will be started as if it were AutoGen and
its standard in will be set to the output definitions of this program.
R template = file
Template Name.
Specifies the template name to be used for generating the final output.
R agarg = ag-opt
AutoGen Argument.
This option may appear an unlimited number of times.
This option must not appear in combination with any of the following options:
output.
This is a pass-through argument. It allows you to specify any
arbitrary argument to be passed to AutoGen.
R base-name = name
Base name for output file(s).
This option must not appear in combination with any of the following options:
output.
When output is going to AutoGen, a base name must either be supplied
or derived. If this option is not supplied, then it is taken from
the template option. If that is not provided either, then
it is set to the base name of the current directory.
R help
Display usage information and exit.
R more-help
Extended usage information passed thru pager.
R save-opts [=rcfile]
Save the option state to rcfile. The default is the last
configuration file listed in the OPTION PRESETS section, below.
R load-opts =rcfile, --no-load-opts
Load options from rcfile.
The no-load-opts form will disable the loading
of earlier RC/INI files. --no-load-opts is handled early,
out of order.
R version [={v|c|n}]
Output version of program and exit. The default mode is `v', a simple
version. The `c' mode will print copyright information and `n' will
print the full copyright notice.
OPTION PRESETS
Any option that is not marked as not presettable may be preset
by loading values from configuration ("RC" or ".INI") file(s).
The homerc file is "/dev/null", unless that is a directory.
In that case, the file ".getdefsrc"
is searched for within that directory.
SEE ALSO
This program is documented more fully in the Getdefs section
of the Add-On chapter in the
R AutoGen
Info system documentation.
AUTHOR
Bruce Korb
Please send bug reports to: autogen-users@lists.sourceforge.net
Released under the GNU General Public License.
This manual page was AutoGen-erated from the getdefs
option definitions.