| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
AutoOpts is shipped with a template named, ‘rc-sample.tpl’.
If your option definition file specifies the homerc attribute,
then you may invoke ‘autogen’ thus:
autogen -Trc-sample <your-option-def-file> |
This will, by default, produce a sample file named,
‘sample-<prog-name>rc’. It will be named differently if you specify your
configuration (rc) file name with the rcfile attribute. In that case,
the output file will be named, ‘sample-<rcfile-name>’. It will contain
all of the program options not marked as no-preset. It will also
include the text from the doc attribute.
Doing so with getdefs’ option definitions yields this sample-getdefsrc file.
I tend to be wordy in my doc attributes:
# getdefs sample configuration file
# getdefs copyright 1999-2009 Bruce Korb - all rights reserved
#
# getdefs is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# getdefs is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
# defs_to_get -- 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 @code{/*=}.
# Example:
#
#defs_to_get reg-ex
# ordering -- Alphabetize or use named file
#
# By default, ordering is alphabetical by the entry name. Use,
# @code{no-ordering} if order is unimportant. Use @code{ordering}
# with no argument to order without case sensitivity. Use
# @code{ordering=<file-name>} if chronological order is important.
# getdefs will maintain the text content of @code{file-name}.
# @code{file-name} need not exist.
# Example:
#
#ordering file-name
# first_index -- The first index to apply to groups
#
# This configuration value takes an integer number as its argument.
#
#
# 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.
# Example:
#
#first_index 0
# input -- Input file to search for defs
#
# All files that are to be searched for definitions must be named on
# the command line or read from @code{stdin}. If there is only one
# @code{input} option and it is the string, "-", then the input file
# list is read from @code{stdin}. If a command line argument is not
# an option name and does not contain an assignment operator
# (@code{=}), then it defaults to being an input file name.
# At least one input file must be specified.
# Example:
#
#input src-file
# subblock -- subblock definition names
#
# This option is used to create shorthand entries for nested definitions.
# For example, with:
# @table @r
# @item using subblock thus
# @code{--subblock=arg=argname,type,null}
# @item and defining an @code{arg} thus
# @code{arg: this, char *}
# @item will then expand to:
# @code{arg = @{ argname = this; type = "char *"; @};}
# @end table
# 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:
# @*
# @code{arg = @{ argname = mumble; null = "yes"; @};}.
# Example:
#
#subblock sub-def
# listattr -- attribute with list of values
#
# 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:
# @*
# @code{listattr=foo} defined, the text:
# @*
# @code{foo: this, is, a, multi-list} will then expand to:
# @*
# @code{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.
# Example:
#
#listattr def
# filelist -- 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:
# @example
# infile = '%s';
# @end example
# If an argument is supplied, that string will be used for the entry
# name instead of @var{infile}.
# Example:
#
#filelist file
# assign -- Global assignments
#
# The argument to each copy of this option will be inserted into
# the output definitions, with only a semicolon attached.
# Example:
#
#assign ag-def
# common_assign -- Assignments common to all blocks
#
# The argument to each copy of this option will be inserted into
# each output definition, with only a semicolon attached.
# Example:
#
#common_assign ag-def
# copy -- File(s) to copy into definitions
#
# The content of each file named by these options will be inserted into
# the output definitions.
# Example:
#
#copy file
# srcfile -- 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:
# @example
# srcfile = '%s';
# @end example
# If an argument is supplied, that string will be used for the entry
# name instead of @var{srcfile}.
# Example:
#
#srcfile file
# linenum -- 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:
# @example
# linenum = '%s';
# @end example
# If an argument is supplied, that string will be used for the entry
# name instead of @var{linenum}.
# Example:
#
#linenum def-name
# output -- Output file to open
#
# If you are not sending the output to an AutoGen process,
# you may name an output file instead.
# Example:
#
#output file
# autogen -- Invoke AutoGen with defs
#
# This is the default output mode. Specifying @code{no-autogen} is
# equivalent to @code{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.
# Example:
#
#autogen ag-cmd
# template -- Template Name
#
# Specifies the template name to be used for generating the final output.
# Example:
#
#template file
# agarg -- AutoGen Argument
#
# This is a pass-through argument. It allows you to specify any
# arbitrary argument to be passed to AutoGen.
# Example:
#
#agarg ag-opt
# base_name -- Base name for output file(s)
#
# 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 @code{template} option. If that is not provided either, then
# it is set to the base name of the current directory.
# Example:
#
#base_name name
|
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Bruce Korb on June 25, 2010 using texi2html 1.82.