Go to main content

man pages section 1: User Commands

Exit Print View

Updated: July 2017
 
 

getdefs (1)

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

GETDEFS(1)                    Programmer's Manual                   GETDEFS(1)



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>0 and "=*/0.  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 delim-
       iters, 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
       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 regu-
              lar expression for the text that must follow the /*=.

       ordering[=file-name], no-ordering
              Alphabetize or use named file.  The no-ordering form will dis-
              able 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 argu-
              ment to order without case sensitivity.  Use ordering=<file-
              name> if chronological order is important.  getdefs will main-
              tain the text content of file-name.  file-name need not exist.

       first-index=first-index
              The first index to apply to groups.  This option takes an inte-
              ger 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.

       input=src-file
              Input file to search for defs.  This option may appear an unlim-
              ited 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.

       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 defi-
              nitions.  For example, with:

              using subblock thus --subblock=arg=argname,type,null

              and defining an arg thus arg: this, char *

              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"; @;}.

       listattr=def
              attribute with list of values.  This option may appear an unlim-
              ited 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 sin-
              gle or double quote character.

       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
       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.

       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.

       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.

       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.

       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:
       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.

       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.

       template=file
              Template Name.

              Specifies the template name to be used for generating the final
              output.

       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.

       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 sup-
              plied 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.

       help   Display usage information and exit.

       more-help
              Extended usage information passed thru pager.

       save-opts[=rcfile]
              Save the option state to rcfile.  The default is the last con-
              figuration file listed in the OPTION PRESETS section, below.

       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.

       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 load-
       ing 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.


ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:


       +---------------+-------------------------+
       |ATTRIBUTE TYPE |    ATTRIBUTE VALUE      |
       +---------------+-------------------------+
       |Availability   | developer/build/autogen |
       +---------------+-------------------------+
       |Stability      | Uncommitted             |
       +---------------+-------------------------+
SEE ALSO
       This program is documented more fully in the Getdefs section of the
       Add-On chapter in the 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 defini-
       tions.



NOTES
       This software was built from source available at
       https://java.net/projects/solaris-userland.  The original community
       source was downloaded from  http://ftp.gnu.org/gnu/autogen/rel5.9/auto-
       gen-5.9.tar.gz

       Further information about this software can be found on the open source
       community website at http://www.gnu.org/software/autogen/.



(GNU AutoGen 1.4)                 2015-08-19                        GETDEFS(1)