Hangar.La tienda de software del Amiga

gengetopt-2.6 2.6

GNU Gengetopt

Short:        GNU Gengetopt
Author:       Lorenzo Bettini & Diego Casorran
Uploader:     dcr8520 amiga org
Type:         dev/gg
Version:      2.6
Requires:     gcc
Architecture: m68k-amigaos

----------------------------------------------------------------------------

        This  package  comes  from      http://Amiga.SourceForge.net

----------------------------------------------------------------------------


This program generates a C function that uses getopt_long function to parse
the command line options, to validate them and fills a struct.

Thus your program can now handle options such as:

myprog --input foo.c -o foo.o --no-tabs -i 100 *.class

And  both  long options (those that start with --) and short options (start
with  -  and  consist of only one character) can be handled.  For standards
about  short and long options you may want to take a look at the GNU Coding
Standards.

gengetopt  is  free  software.  Please see the file LICENSE and COPYING for
details.   Notice  that:   Use  of gengetopt does not impose any particular
license  on  the  generated  code:   the  code  generated  is not under any
license.

For documentation, please read this file.

gengetopt  is  perfect  if  you  are  too lazy (like me) to write all stuff
required  to call getopt_long, and when you have a program and wish it took
options.

Generated code works if you use GNU Autoconf or GNU Automake.

Gengetopt  has  originally  been  written  by  Roberto  Arturo Tena Sanchez
<arturo@directmail.org>,   and  currently  maintained  by  Lorenzo  Bettini
<bettini@gnu.org>.

Gengetopt  is  a  GNU  program  and  its  main  home  page  is at GNU site:
http://www.gnu.org/software/gengetopt/gengetopt.html,

Download

You  can download it from GNU's ftp site:  ftp://ftp.gnu.org/gnu/gengetopt/
or from one of its mirrors (see http://www.gnu.org/prep/ftp.html).

I  do  not  distribute  Windows binaries anymore; since, they can be easily
built  by using Cygnus C/C++ compiler, available at http://www.cygnus.com/.
However,  if you don't feel like downloading such compiler, you can request
such  binaries  directly  to me, by e-mail (bettini@gnu.org) and I can send
them to you.

You  may  also  want  to  check  the md5sum of the archives, which are also
digitally    signed    by    me    (Lorenzo    Bettini)    with   GNU   gpg
(http://www.gnupg.org).   My  GPG  public  key can be found at my home page
(see at the end of this doc).

You  can  also  get  the  patches,  if  they are available for a particular
release (see below for patching from a previous version).

Changes in this release

   * fixed documentation (thanks to Francesco Potorti <pot@gnu.org>)
   * function names and names used in #ifndef directives in generated
     sources are canonized, thus avoiding errors by the compiler (notified
     by Francesco Potorti and Alexey Mahotkin <alexm@hsys.msk.ru>)
   * fixed line number when reporting an error in a .ggo file, and '\n' is
     no longer needed at the end of a .ggo file (notified by Francesco
     Potorti)
   * in the generated parser use HAVE_STRDUP to check whether the standard
     strdup function can be used, and use EXIT_SUCCESS and EXIT_FAILURE for
     exit (suggested by Frans E. van Dorsselaer <frans@biabv.com>)
   * do not exit with error if an empty desc for an option is given (thanks
     to Excoffier Denis <Denis.Excoffier@eurocopter.com>)
   * fixed a bug in creation of string for the comment header in the
     generated sources (thanks to Xavier Trochu <xtrochu@yahoo.com>)
   * Added default values in options for integer and string options (with
     help of Ralf Zeise <Zeise@serving-gmbh.de>)

Changes in release 2.5

   * much more recent versions of getopt.h, getopt.c, getopt1.c are provided
     (the previous ones were very very old!), that do not rely on alloca
     anymore.
   * when a flag option is given the corresponding  _given variable is set
     (bug fixed by Guillaume Chazarain  <booh@altern.org>).
   * Fixed documentation of sample1, as suggested by Lutz Maibaum
     <lutz@gold.cchem.berkeley.edu>.
   * Avoid a warning due to generated gengetopt_strdup (thanks to Brian
     Minard <bminard@flatfoot.ca>)
   * the generated print_help function use a different printf for every
     option, thus avoiding a single printf with a possible very huge string
     (thanks to Herbert Thoma <tma@iis.fhg.de>)

see also NEWS file and ChangeLog for the complete list of changes between
versions (also summarized in old_changes.html).

Installation

See  the  file INSTALL for detailed building and installation instructions;
anyway  if  you're used to compiling Linux software that comes with sources
you may simply follow the usual procedure:

cd <source code main directory>
./configure
make
make install

Note:   unless you specify a different install directory by --prefix option
of  configure (e.g.  ./configure --prefix=<your home>), you must be root to
'make install'.

You can also run some tests by issuing 'make check'.

Files will be installed in the following directories:

   * Executables          -> /prefix/bin
   * Docs                 -> /prefix/share/doc/gengetopt
   * Man pages            -> /prefix/man
   * Examples             -> /prefix/share/doc/gengetopt/examples
   * Util files           -> /prefix/share/gengetopt

Default value for prefix is /usr/local but you may change it with --prefix
option to configure (see above).

What you need to build gengetopt

Actually you need nothing more than a Unix C/C++ compiler.

getopt_long function is usually in the standard C library, but there may be
some  C libraries which don't include it; in this case you have to link the
program  that  uses the file generated by gengetopt with the files getopt.c
and  getopt1.c  and include getopt.h in your project.  You may also need to
link  alloca.c.We  obviously  provide  these  files  in  the  utility files
directory  (/prefix/share/gengetopt).   These  files  are part of the GNU C
library.   You  may  want  to  take  a  look at getopt man page.  Read also
no_getopt_long.txt.   for  instuctions  on  how to check if getopt_long and
alloca  are  part  of the library and how to deal with their lacking (using
autoconf and automake).

gengetopt  has  been developed under Linux, using gcc, and bison (yacc) and
flex  (lex), and ported under Windows with Cygnus C/C++ compiler, available
at http://www.cygnus.com/.  I used the excellent GNU Autoconf and Automake.
I also used Autotools (ftp://ftp.ugcs.caltech.edu/pub/elef/autotools) which
creates  a starting source tree (according to GNU standards) with autoconf,
automake starting files, and getopt_long (for command line parsing).

Actually,  unless  you  want to develop gengetopt, you don't need all these
tools  to  build  gengetopt  because I provide generated sources; you don't
need  neither  bison  (yacc) nor flex (lex), for the same reason.  Actually
programs  that  use lex generated files need to link with library libfl (or
libl  for  lex); anyway configuration phase can discover if this library is
missing  and  in that case it sets the program to link with a source file I
provide.   This  hack  works  for  flex:   I don't know about lex generated
scanners.   But, again, this is a problem only if you develop gengetopt and
you use lex.

Patching from a previous version

If  you  downloaded  a  patch,  say gengetopt-1.3-1.3.1-patch.gz (i.e.  the
patch  to  go  from version 1.3 to version 1.3.1), cd to the directory with
sources from the previous version (gengetopt-1.3) and type:

gunzip -cd ../gengetopt-1.3-1.3.1.patch.gz | patch -p1

and  restart  the  compilation  process (if you had already run configure a
simple make will do).

Usage (a little tutorial)

The  command  line options, which have to be handled by gengetopt generated
function,  are  specified  in a file (typically with .ggo extension).  This
file consist in lines of sentences with the following formats:

package <packname>
version <version>

option <long> <short> <desc> <argtype> {default="<default value>"} <required>
option <long> <short> <desc> flag      <onoff>
option <long> <short> <desc> no

Where:

packname

     Double quoted string.

version

     Double  quoted  string.

purpose

     What the program does (even on more than one line), it will be
     printed with the help. Double  quoted  string.

long

     The long option, a double quoted string with  upper and  lower
     case  chars,  digits,  '-' and '.'.  No spaces allowed.  The name
     of the  variables  generated  to store arguments are long options
     converted to be legal C variable names.  This means, '.'  and '-'
     are  both replaced by '_'. '_arg' is appended, or '_flag' for a
     flag.

short

     The short option, a  single  upper  or  lower  case char, or a
     digit. If a '-' is specified, then no short option is considered
     for the long option (thus long options with no associated short
     options are allowed).

desc

     Double  quoted  string  with  upper  and lower case chars, digits,
     '-', '.' and spaces. First character must not be a space.

argtype

     string, int, short, long, float, double, longdouble or longlong.

default

     an optional default value for the option.  The value must always
     be specified as a double quoted string.

required

     yes or no.

onoff

     on or off. This is the state of the flag when the program starts.
     If user specifies the option, the flag toggles.

The third type of option is used when the option does not take any argument.
It must not be required.

Comments begins with '#' in any place of the line and ends in the end of
line.

Here's an example of such a file (the file is called sample1.ggo)


  # file sample1.ggo
  option  "str-opt"     s "A string option"      string     no
  option  "my-opt"      m "Another integer option"      int     no
  option  "int-opt"     i "A int option"         int        yes
  option  "flag-opt"    - "A flag option"        flag       off
  option  "funct-opt"   F "A function option"    no
  option  "long-opt"    - "A long option"        long       no
  option  "def-opt"     - "A string option with default" string
  default="Hello" no

The simplest way to use gengetopt is to pass this file as the standard
input, i.e.:

gengetopt < sample1.ggo

by default gengetopt generates cmdline.h and cmdline.c. Otherwise we can
specify these names with a command line option:

gengetopt < sample1.ggo --file-name=cmdline1 --unamed-opts

The option --unamed-opts allows the generated command line parser to accept
also  names,  without  an  option  (for  instance  you can pass a file name
without  an  option  in  front  of it, and also use wildcards, such as *.c,
foo*.?  and so on).

In cmdline1.h you'll find the generated C struct:

 /* cmdline1.h */

 /* File autogenerated by gengetopt version 2.6  */

 #ifndef _cmdline1_h
 #define _cmdline1_h

 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */

 /* Don't define PACKAGE and VERSION if we use automake.  */
 #if defined PACKAGE
 #  undef PACKAGE
 #endif
 #define PACKAGE "sample1"
 #if defined VERSION
 #  undef VERSION
 #endif
 #define VERSION "2.0"

 struct gengetopt_args_info {
   char * str_opt_arg;   /* A string option.  */
   int my_opt_arg;       /* Another integer option.  */
   int int_opt_arg;      /* A int option.  */
   int flag_opt_flag;    /* A flag option (default=off).  */
   long long_opt_arg;    /* A long option.  */
   char * def_opt_arg;   /* A string option with default (default='Hello').  */

   int help_given ;      /* Whether help was given.  */
   int version_given ;   /* Whether version was given.  */
   int str_opt_given ;   /* Whether str-opt was given.  */
   int my_opt_given ;    /* Whether my-opt was given.  */
   int int_opt_given ;   /* Whether int-opt was given.  */
   int flag_opt_given ;  /* Whether flag-opt was given.  */
   int funct_opt_given ; /* Whether funct-opt was given.  */
   int long_opt_given ;  /* Whether long-opt was given.  */
   int def_opt_given ;   /* Whether def-opt was given.  */

   char **inputs ; /* unamed options */
   unsigned inputs_num ; /* unamed options number */
 } ;

 int cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info);

 void cmdline_parser_print_help(void);
 void cmdline_parser_print_version(void);

 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
 #endif /* _cmdline1_h */

Notice that by default the generated function is called cmdline_parser (see
the  command  line  options below, to override this name), and it takes the
arguments  that  main receives and a pointer to such a struct, that it will
be  filled.   And  here's  how  this  function  can be used inside the main
program:

 /* main1.cc */
 /* we try to use gengetopt generated file in a C++ program */
 /* we don't use autoconf and automake vars */

 #include <iostream.h>
 #include "stdlib.h"

 #include "cmdline1.h"

 int
 main (int argc, char **argv)
 {
   gengetopt_args_info args_info;

   cout << "This one is from a C++ program" << endl ;
   cout << "Try to launch me with some options" << endl ;
   cout << "(type sample1 --help for the complete list)" << endl ;
   cout << "For example: ./sample1 *.* --funct-opt" << endl ;

   /* let's call our cmdline parser */
   if (cmdline_parser (argc, argv, &args_info) != 0)
     exit(1) ;

   cout << "Here are the options you passed..." << endl;

   for ( unsigned i = 0 ; i < args_info.inputs_num ; ++i )
     cout << "file: " << args_info.inputs[i] << endl ;

   if ( args_info.funct_opt_given )
     cout << "You chose --funct-opt or -F." << endl ;

   if ( args_info.str_opt_given )
     cout << "You inserted " << args_info.str_opt_arg << " for " <<
       "--str-opt option." << endl ;

   if ( args_info.int_opt_given )
     cout << "This is the integer you input: " <<
       args_info.int_opt_arg << "." << endl;

   if (args_info.flag_opt_given)
     cout << "The flag option was given!" << endl;

   cout << "The flag is " << ( args_info.flag_opt_flag ? "on" : "off" ) <<
     "." << endl ;

   cout << args_info.def_opt_arg << "! ";

   cout << "Have a nice day! :-)" << endl ;

   return 0;
 }

Now you can compile main1.cc and the cmdline1.c generated by gengetopt and
link all together to obtain sample1 executable:

gcc -c cmdline1.c
g++ -c main1.cc
g++ -o sample1 cmdline1.o main1.o

(Here we assume that getopt_long is included in the standard C library; see
'What you need to build gengetopt' section).

Now let's try some tests with this program:

$ ./sample1 -s "hello" --int-opt 1234
This one is from a C++ program
Try to launch me with some options
(type sample1 --help for the complete list)
For example: ./sample1 *.* --funct-opt
Here are the options you passed...
You inserted hello for --str-opt option.
This is the integer you input: 1234.
The flag is off.
Have a nice day! :-)

You can also pass many file names to the command line (this also shows how
flags work):

$ ./sample1 *.h -i -100 -x
This one is from a C++ program
Try to launch me with some options
(type sample1 --help for the complete list)
For example: ./sample1 *.* --funct-opt
Here are the options you passed...
file: cmdline1.h
file: cmdline2.h
file: cmdline.h
file: getopt.h
This is the integer you input: -100.
The flag is on.
Have a nice day! :-)

And if we try to omit the --int-opt (or -i), which is required, we get an
error:

$ ./sample1
This one is from a C++ program
Try to launch me with some options
(type sample1 --help for the complete list)
For example: ./sample1 *.* --funct-opt
sample1: `--int-opt' (`-i') option required!

If you're curious you may want to take a look at the generated C file.

You may find other examples in /prefix/share/doc/gengetopt.

Warning for Windows users

If you run Windows, please remember that DOS shell does not translate
wildcards, and thus the previous test which uses '*.h' will not work.

Options

This is the output of gengetopt --help:

$ gengetopt --help
gengetopt 2.6

Purpose:
  This program generates a C function that uses getopt_long function
  to parse the command line options, validate them and fill a struct.

Usage: gengetopt [OPTIONS]...
   -h         --help              Print help and exit
   -V         --version           Print version and exit
   -iSTRING   --input=STRING      input file (default std input)
   -fSTRING   --func-name=STRING  name of generated function (default='cmdline_parser')
   -FSTRING   --file-name=STRING  name of generated file (default='cmdline')
   -l         --long-help         long usage line in help
   -u         --unamed-opts       accept filenames
              --no-handle-help    do not handle --help|-h automatically
              --no-handle-version do not handle --version|-V automatically
              --no-handle-error   do not exit on errors

Maintained by Lorenzo Bettini <bettini@gnu.org>
Report bugs to <bug-gengetopt@gnu.org>

The options should be clear; in particular:

   * if no --func-name is given, cmdline_parser is taken by default;
   * with --long-help option, the "Usage" line reports all the options; this
     may be unpleasant if options are many;
   * with --unamed-opts we can accept also options without a name, which, in
     most case, means that we can pass many file names to the program (see
     the example above when we call sample1 *.h).
   * if --no-handle-help (--no-handle-version) is given the command line
     --help|-h (--version|-V) is not handled automatically, so the
     programmer will be able to print some other information; then the
     function for printing the standard help (version) response can be used;
     this function is called <parser-name>_print_help
     (<parser-name>_print_version), where <parser-name> is the name
     specified with ---func-name or the default cmdline_parser.
   * if --no-handle-error is given, an error in the parsing does not provoke
     the exit of the program; instead, since the parser function, in case of
     an error, returns non 0, the program can print a help message, as
     gengetopt itself does in case of an error (try it!).

You may have already guessed it: gengetopt uses gengetopt itself for command
line options, and this is its specification file:


  purpose "This program generates a C function that uses getopt_long function
  to parse the command line options, validate them and fill a struct."

  option  "input"         i "input file. default std input"  string     no
  option  "func-name"     f "name of generated function"  string default="cmdline_parser" no
  option  "file-name"     F "name of generated file"  string default="cmdline" no
  option  "long-help"     l "long usage line in help" no
  option  "unamed-opts"   u "accept filenames" no
  option  "no-handle-help"   - "do not handle --help|-h automatically" no
  option  "no-handle-version"   - "do not handle --version|-V automatically" no
  option  "no-handle-error" - "do not exit on errors" no

In particular the command line for gengetopt itself is generated with the
following command:

gengetopt --input=cmdline.ggo --no-handle-version --no-handle-help --no-handle-error

Indeed when --help|-h is passed on the command line, gengetopt will call
cmdline_parser_print_help() and then the lines for reporting bugs. When
--version|-V is passed, it will call cmdline_parser_print_version() and then
prints a copyright.
If an error occurs it prints a message on the screen:

$ ./gengetopt --zzzz
./gengetopt: unrecognized option `--zzzz'
Run gengetopt --help to see the list of options.

Credits

See THANKS file :-)

Feedback

Tell us if you like this software :-)

Actually  we  want  to  extend  it,  so if you have some ideas...  The most
import one will be to make gengetopt more customizable :-)

Please send all bug reports by electronic mail to:
bug-gengetopt@gnu.org

Mailing Lists

The following mailing lists are available:

   * help-gengetopt@gnu.org, for generic discussions about the program and
     for asking for help about it (open mailing list),
     http://mail.gnu.org/mailman/listinfo/help-gengetopt
   * info-gengetopt@gnu.org, for receiving information about new releases
     and features (read-only mailing list),
     http://mail.gnu.org/mailman/listinfo/info-gengetopt

if you want to subscribe to a mailing list just go to the URL and follow the
instructions.

 Lorenzo Bettini                      Roberto Arturo Tena Sanchez
 http://w3.newnet.it/bettini  or      http://arturo.directmail.org
 http://infostud.dsi.unifi.it/~bettini<arturo@directmail.org>,
 (very fast if you're in University)
 <bettini@gnu.org>.

gengetopt is free software. See the file LICENSE and COPYING for copying
conditions. Anyway we won't get offended if you send us a postcard :-)

C/C++ files are formatted with GNU Source-highlight
(http://www.gnu.org/software/src-highlite/) by Lorenzo Bettini.

  ------------------------------------------------------------------------

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org.  There are also
other ways to contact the FSF.

Please  send  comments on these web pages to webmasters@gnu.org, send other
questions to gnu@gnu.org.

Copyright  (C) 2001 Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111, USA

Verbatim  copying  and  distribution of this entire article is permitted in
any medium, provided this notice is preserved.

Updated:9 Jan 2001 mhw
  ------------------------------------------------------------------------



·············································A·r·c·h·i·v·e··C·o·n·t·e·n·t·s··
LhA Freeware Version 2.2
Copyright © 1991-94 by Stefan Boberg.
Copyright © 1998-2000 by Jim Cooper and David Tritscher.

Listing of archive 'gengetopt-2.6.lha':
Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
     260     129 50.3% 24-Jun-02 08:27:34 +confdefs.h
    1129     465 58.8% 24-Jun-02 08:34:52 +config.h
    2374     701 70.4% 24-Jun-02 08:35:08 +config.log
   10704    3204 70.0% 24-Jun-02 08:28:54 +config.status
   12955    3923 69.7% 24-Jun-02 08:29:32 +Makefile
      10      10  0.0% 24-Jun-02 08:35:04 +stamp-h
    3726    1543 58.5% 24-Jun-02 08:29:50 +txtc.sh
     182     103 43.4% 02-Mar-02 10:19:44 +cmdline.ggo
     444     249 43.9% 02-Mar-02 10:21:32 +default_cmdline.c
   15404    4223 72.5% 24-Jun-02 08:33:16 +Makefile
     131     103 21.3% 24-Jun-02 08:34:02 +more_than_once.sh
      97      83 14.4% 24-Jun-02 08:33:38 +no_optgiven.sh
     129      96 25.5% 31-Dec-01 13:10:12 +canonize-names-cmd.ggo
     385     243 36.8% 31-Dec-01 13:26:38 +canonize-names.c
     441     242 45.1% 02-Mar-02 10:21:42 +default_values.c
     446     210 52.9% 02-Mar-02 11:17:06 +default_values_cmd.ggo
     898     375 58.2% 24-Jun-01 12:45:44 +more_than_once.c
     177     106 40.1% 06-May-01 12:45:18 +more_than_once_cmd.ggo
     379     235 37.9% 24-Jun-01 12:45:34 +no_optgiven.c
     121      90 25.6% 31-Dec-01 13:10:56 +no_optgiven_cmd.ggo
     273     179 34.4% 24-Jun-01 12:45:24 +no_unamed.c
      97      89  8.2% 05-May-01 13:58:48 +no_optgiven.sh.in
     276     181 34.4% 24-Jun-01 12:45:16 +no_strings.c
     115      82 28.6% 23-Mar-01 22:43:08 +no_strings_cmd.ggo
     150     101 32.6% 23-Mar-01 22:43:08 +no_unamed_cmd.ggonu
    4642    1949 58.0% 24-Jun-02 08:31:42 +gengetopt.1
   35679    9842 72.4% 24-Jun-02 08:32:30 +gengetopt.html
    2760    1163 57.8% 02-Mar-02 10:22:44 +Makefile.am
   17914    4298 76.0% 02-Mar-02 13:23:18 +Makefile.in
     131     110 16.0% 06-May-01 12:45:18 +more_than_once.sh.in
     340     198 41.7% 09-Feb-01 18:17:14 +cxxconfig.h
   14917    4346 70.8% 24-Jun-02 08:31:10 +Makefile
    2383    1109 53.4% 16-Dec-01 14:20:40 +no_getopt_long.txt
    4150    1786 56.9% 02-Mar-02 10:03:06 +old_changes.html
    2126     677 68.1% 02-Mar-02 11:20:50 +testdata
   32718    3026 90.7% 24-Jun-02 08:51:00 +cmdline1.c.html
    1551     531 65.7% 24-Jun-02 12:44:36 +cmdline1.h
    1974     594 69.9% 24-Jun-02 08:51:04 +cmdline2.h
   10712    3745 65.0% 23-Jul-00 20:00:32 +man_getopt.html
      10      10  0.0% 02-Mar-02 13:23:18 +samples.stamp
    7289    1878 74.2% 24-Jun-02 12:44:36 +cmdline1.c
    9355    2087 77.6% 24-Jun-02 08:51:04 +cmdline2.c
    1402     591 57.8% 02-Mar-02 11:20:32 +main1.cc
     747     378 49.3% 24-Jun-01 12:29:38 +main2.c
     675     251 62.8% 24-Jun-02 12:44:34 +sample1.ggo
    1046     388 62.9% 24-Jun-02 12:44:34 +sample2.ggo
    4660    1952 58.1% 02-Mar-02 12:57:36 +gengetopt.1.in
   35691    9853 72.3% 02-Mar-02 13:01:32 +gengetopt.html.in
    4025    1558 61.2% 16-Dec-01 14:38:54 +Makefile.am
    2679    1285 52.0% 07-Dec-00 15:42:16 +mdate-sh
  183111   59370 67.5% 07-Dec-00 15:42:16 +texinfo.tex
   15722    4422 71.8% 02-Mar-02 13:23:18 +Makefile.in
  114420   45639 60.1% 24-Jun-02 08:50:38 +gengetopt
     214     116 45.7% 24-Jun-02 08:47:08 +gengetopt_strdup.o
   12685    5782 54.4% 24-Jun-02 08:48:50 +getopt.o
    3596    1559 56.6% 24-Jun-02 08:49:34 +getopt1.o
    3201    1436 55.1% 24-Jun-02 08:46:10 +yyerror.o
    1499     613 59.1% 24-Jun-02 08:41:08 +argsdef.o
    9365    3933 58.0% 24-Jun-02 08:42:34 +cmdline.o
   10647    4717 55.6% 24-Jun-02 08:43:56 +gengetopt.o
   24910   10831 56.5% 24-Jun-02 08:45:32 +gm.o
   11636    5504 52.6% 24-Jun-02 08:38:40 +parser.o
   20906    9266 55.6% 24-Jun-02 08:40:38 +scanner.o
    2904    1261 56.5% 02-Mar-02 10:06:08 +cmdline.ggo
    1546     518 66.4% 02-Mar-02 10:23:14 +cmdline.h
     192     108 43.7% 24-Jun-02 08:36:34 +copyright.o
     340     198 41.7% 09-Feb-01 18:17:14 +cxxconfig.h
   11961    4070 65.9% 24-Jun-02 08:30:26 +Makefile
     194     108 44.3% 24-Jun-02 08:37:28 +reportbugs.o
    1203     612 49.1% 14-May-01 19:41:34 +argsdef.h
    1209     614 49.2% 01-Mar-02 21:47:52 +gengetopt.h
    6447    2530 60.7% 16-Dec-01 14:04:08 +getopt.h
     712     372 47.7% 01-Mar-02 22:04:52 +ggos.h
    1287     613 52.3% 14-May-01 19:41:34 +gm.h
     391     207 47.0% 01-Mar-02 22:21:26 +parser.h
    1101     577 47.5% 14-May-01 19:41:34 +argsdef.c
    8182    1932 76.3% 02-Mar-02 10:23:14 +cmdline.c
    7656    2441 68.1% 02-Mar-02 10:15:00 +gengetopt.c
     309     182 41.1% 17-Dec-01 21:23:28 +gengetopt_strdup.text
   25103    5688 77.3% 02-Mar-02 10:12:54 +gm.c
     317     216 31.8% 02-Mar-02 11:11:42 +yyerror.c
     374     247 33.9% 02-Mar-02 13:22:56 +copyright.text
    4096    1402 65.7% 02-Mar-02 11:16:58 +parser.y
      88      74 15.9% 20-Mar-01 23:16:38 +reportbugs.text
    2932    1245 57.5% 01-Mar-02 22:34:20 +scanner.l
     272     166 38.9% 17-Dec-01 21:23:24 +strdup.c
     273     197 27.8% 01-Jul-00 13:58:44 +yywrap.c
   30147    9485 68.5% 16-Dec-01 14:04:02 +getopt.c
    4520    1805 60.0% 16-Dec-01 14:03:58 +getopt1.c
    2786    1381 50.4% 17-Dec-01 21:24:44 +Makefile.am
   11892    4043 66.0% 02-Mar-02 13:23:18 +Makefile.in
   27657    8217 70.2% 02-Mar-02 11:17:12 +parser.c
   42989   12759 70.3% 01-Mar-02 22:34:24 +scanner.c
    3211    1520 52.6% 31-Dec-01 14:18:22 +configure.in
    5598    2233 60.1% 07-Dec-00 15:42:16 +install-sh
     983     545 44.5% 14-May-01 19:41:34 +LICENSE
    6283    2135 66.0% 07-Dec-00 15:42:16 +missing
     722     380 47.3% 07-Dec-00 15:42:16 +mkinstalldirs
     779     464 40.4% 01-Jul-00 13:58:44 +reconf
    3728    1544 58.5% 20-Mar-01 23:16:38 +txtc.sh.in
     119      98 17.6% 09-Feb-01 18:17:14 +acconfig.h
    3385    1399 58.6% 09-Feb-01 18:17:14 +acinclude.m4
    8202    3360 59.0% 31-Dec-01 14:18:34 +aclocal.m4
    1011     430 57.4% 17-Dec-01 21:11:26 +config.h.in
   83140   20902 74.8% 31-Dec-01 14:18:34 +configure
    1486     729 50.9% 01-Mar-02 22:12:26 +THANKS
    1810     890 50.8% 06-May-01 14:03:58 +TODO
     550     334 39.2% 30-Jul-00 15:27:38 +AUTHORS
   12988    4304 66.8% 02-Mar-02 13:05:12 +ChangeLog
   17992    7014 61.0% 01-Jul-00 13:58:44 +COPYING
    7644    3020 60.4% 10-Apr-01 18:51:08 +INSTALL
     965     554 42.5% 14-May-01 19:41:34 +Makefile.am
    5463    2452 55.1% 02-Mar-02 13:22:50 +NEWS
      10      10  0.0% 31-Dec-01 14:18:38 +stamp-h.in
   12885    3901 69.7% 02-Mar-02 13:23:16 +Makefile.in
   20889    7754 62.8% 02-Mar-02 13:02:04 +README
-------- ------- ----- --------- --------
 1061714  352998 66.7% Operation successful.




_____________________________
.Readme created with:  MRea  \

Gratis

Web del proyecto ↗

Descargar 351 KB

Desde el Amiga: abre Hangar y busca gengetopt-2.6.

AutorLorenzo Bettini & Diego Casorran
Categoríadev/gg
Tamaño351 KB
Param68k-amigaos
Necesitagcc
OrigenAminet