[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The following global definitions are used to define attributes of the entire program. These generally alter the configuration or global behavior of the AutoOpts option parser. The first two are required of every program. The third is required if there are to be any left over arguments (operands) after option processing. The rest have been alphabetized. Except as noted, there may be only one copy of each of these definitions:
This attribute is required. Variable names derived from this name
are derived using string->c_name!
(see section `string->c-name!' - map non-name chars to underscore).
This attribute is required and may be any descriptive text.
This attribute is required if your program uses operand arguments.
It specifies the syntax of the arguments that follow the options.
It may not be empty, but if it is not supplied, then option processing
must consume all the arguments. If it is supplied and starts with an
open bracket ([
), then there is no requirement on the presence or
absence of command line arguments following the options. Lastly, if it
is supplied and does not start with an open bracket, then option
processing must not consume all of the command line arguments.
The presence of this attribute indicates ignoring any command line
option errors. This may also be turned on and off by invoking the
macros ERRSKIP_OPTERR
and ERRSTOP_OPTERR
from the
generated interface file.
The contents of this attribute should be just the name of the configuration file. A "#include" naming this file will be inserted at the top of the generated header.
Indicates looking in the environment for values of variables named,
PROGRAM_OPTNAME
or PROGRAM
, where PROGRAM
is the
upper cased C-name
of the program and OPTNAME
is the
upper cased C-name
of a specific option.
This string is inserted into the .h interface file. Generally used for
global variables or #include
directives required by
flag_code
text and shared with other program text.
Do not specify your configuration header (`config.h') in this
attribute or the include
attribute, however. Instead, use
config-header
, above.
AutoOpts generates macros that presume that there are no cpp
macros
with the same name as the option name. For example, if you have an option
named, debug
, then you must not use #ifdef DEBUG
in your code.
If you specify this attribute, every option name will be guarded. If the name
is #define
-d, then a warning will be issued and the name undefined.
If you do not specify this and there is a conflict, you will get strange
error messages.
This attribute may be set to any of four recognized states:
#undef
) any conflicting preprocessor macros. The code
will include compiler warnings (via #warning
). Some compilers are
not ANSI-C-99 compliant yet and will error out on those warnings. You may
compile with -DNO_OPTION_NAME_WARNINGS
to silence or mostly silence
them.
no-warning
". All of the needed
#undef
s will be emitted, without any conflict checking #warning
directives emitted.
full-enum
". The option manipulation
preprocessor macros will not token paste the option names to the index
enumeration prefix. e.g. you will need to use HAVE_OPT(INDEX_OPT_DEBUG)
instead of HAVE_OPT(DEBUG)
.
Specifies either a directory or a file using a specific path (like .
or `/usr/local/share/progname') or an environment variable (like
`$HOME/rc/' or `$PREFIX/share/progname') or the directory
where the executable was found (`$$[/...]') to use to try to find
the rcfile. Use as many as you like. The presence of this attribute
activates the --save-opts
and --load-opts
options.
See section configuration file presets.
This string is inserted into the .c file. Generally used for global
variables required only by flag_code
program text.
Presence indicates GNU-standard long option processing. If any options
do not have an option value (flag character) specified, and least one
does specify such a value, then you must specify long-opts
. If
none of your options specify an option value (flag character) and you do
not specify long-opts
, then command line arguments are processed
in "named option mode". This means that:
-
and --
are completely optional.
argument
program attribute is disallowed.
This value is inserted into all global names. This will disambiguate them if more than one set of options are to be compiled into a single program.
Specifies the configuration file name. This is only useful if you
have provided at least one homerc
attribute.
default: .<prog-name>rc
Specifies the program version and activates the VERSION option, See section Automatically Supported Options.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Bruce Korb on February, 17 2007 using texi2html 1.76.