Re: retracting ITP gaa
"Darren O. Benham" <email@example.com> wrote:
>On Mon, Jul 05, 1999 at 08:57:30PM -0400, James R. Van Zandt wrote:
>> I will not be packaging the command line parser generator gaa after
>> all, since the upstream author has decided not to support it.
>That's a bummer! I actually started using it! Where were the names
>of those other packages?
See the list below. I uploaded the first group of four on Monday
(just before my modem died :-), and will upload "genparse"
Incidentally, I believe the next version of autogen will support man
- Jim Van Zandt
Here is a feature comparison of six command line parser generators.
package clig genparse gaa autogen gengetopt wyg
     
runs per project  many many many many once many
input file file file file file file
C language app yes yes yes yes yes yes
shell script app no no no yes no no
package result parser parser parser parser main.c parser
config file input no no yes yes no yes
environment input no no no yes no no
config file output no no no yes no no
command line yes yes yes yes yes yes
short options  yes yes yes yes yes
combined short options no yes yes yes yes yes
long options  yes yes yes yes yes
parameter types 4 5 5 any 11 4
callback functions no yes yes yes yes no
multiple parameters yes no no yes no no
optional parameters yes no no yes no no
default values yes yes yes yes no yes
range checks yes yes no no no no
option data struct struct struct struct variables struct
usage() yes yes yes yes yes yes
man page yes no no no no no
makefile no no no no no no
developer dependencies tcl none none none none bison,flex
user dependencies none none none  none none
 clig is the only tool that generates a skeleton man page. It
also updates a previously generated man page.
[2,3] genparse and gaa have very similar capabilities. genparse
supports range checks, and gaa supports option input from a
configuration file as well as the command line. NOTE HOWEVER: gaa is
not maintained upstream.
 autogen has many capabilities, but here we concentrate on the
portion called AutoOpts. AutoOpts is the most general of these
programs, and has the most extensive documentation. It is the only
one that supports shell scripts as well as C programs. It also
supports input from a configuration file or the environment.
 gengetopt is the only one that generates a skeleton main.c
instead of a separate parsing function.
 wyg uses flex and bison to generate a configuration file parser,
but uses getopt_long to parse the command line options.
 A program run "once" produces files which the user is expected to
edit. If it's run again, the user would lose his edits. A program
supporting "many" runs, the user is not expected to edit the result.
Thus, to change the interface (to add an option, for example), the
user could edit the description file and re-run the parser generator.
 xlig supports either a short or long name for a given option, but
not both, and in either case it is introduced by a single dash.
 There is a user-visible dependency iff the developer does a
dynamic link to the libopts.so library. Developers are free to either
link statically or ship libopts.so with their product. A Debian
package would need only a dependency on the package supplying libopts
(libopts2, at present).