[ < ] | [ > ] | [ << ] | [ 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 ## This source file is copyrighted and licensed under the following terms: # # Copyright (C) 1999-2014 Bruce Korb, all rights reserved. # This is free software. It is licensed for use, modification and # redistribution under the terms of the GNU General Public License, # version 3 or later <http://gnu.org/licenses/gpl.html> # # 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 # 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 # 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 # 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 # 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 # 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 August 21, 2015 using texi2html 1.82.