[= AutoGen Template -*- Mode: C -*-

#  List the output suffixes that are to be generated.
#  Header must come first.  An env variable is set that
#  is used in processing the C file.
#
#  $Id: options.tpl,v 2.4 1999/07/07 19:42:32 bkorb Exp $

h
c
=]
[= #  OPTIONS.TPL

 This file contains the templates used to generate the
 option descriptions for client programs, and it declares
 the macros used in the templates.

 Automated Options copyright 1992-1999 Bruce Korb

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

 --  COPYRIGHT  --

 Automated Options is free software.
 You may redistribute it and/or modify it under the terms of the
 GNU General Public License, as published by the Free Software
 Foundation; either version 2, or (at your option) any later version.

 Automated Options 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 Automated Options.  See the file "COPYING".  If not,
 write to:  The Free Software Foundation, Inc.,
            59 Temple Place - Suite 330,
            Boston,  MA  02111-1307, USA.

 As a special exception, Bruce Korb gives permission for additional
 uses of the text contained in his release of AutoOpts.

 The exception is that, if you link the AutoOpts library with other
 files to produce an executable, this does not by itself cause the
 resulting executable to be covered by the GNU General Public License.
 Your use of that executable is in no way restricted on account of
 linking the AutoOpts library code into it.

 This exception does not however invalidate any other reasons why
 the executable file might be covered by the GNU General Public License.

 This exception applies only to the code released by Bruce Korb under
 the name AutoOpts.  If you copy code from other sources under the
 General Public License into a copy of AutoOpts, as the General Public
 License permits, the exception does not apply to the code that you add
 in this way.  To avoid misleading anyone as to the status of such
 modified files, you must delete this exception notice from them.

 If you write modifications of your own for AutoOpts, it is your choice
 whether to permit this exception to apply to your modifications.
 If you do not wish that, delete this exception notice.

 --  END COPYRIGHT  --

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Before we do any work, we first make sure the definitions are consistent:


=][=_IF flag.name _exist ! =]
[=_ERROR "No options have been defined" =]
[=_ENDIF

=][=_IF flag _len 100 >=]
[=_ERROR flag _len "#%d options are too many - limit of 100" _printf =]
[=_ENDIF

=][=_IF prog_name _len 16 >=]
[=_ERROR "Prog_name limited to 16 characters:  " prog_name _get + =]
[=_ENDIF

=][=_FOR flag=][=_IF name _len 32 >=]
[=_ERROR _index name _get "#2$Option %d name exceeds 32 characters: %s" _printf
=][=_ENDIF

=][=_IF call_proc _exist
        flag_code _exist +
        flag_proc _exist +
        stack_arg _exist + 1 > =]
[=_ERROR name _get "Option %s has multiple code specifications" _printf
=][=_ENDIF

=][=/flag


=]/*
[=_eval "# *  " _DNE=]
 */
[=_IF _SFX h =

=][=_include opthead=][=

_ELIF _SFX c =

=][=_include optcode=][=

_ENDIF =]
