2012-07-18  Tim Marston  <tim@ed.am>

	* src/cmdline.ggo: added --strict-hidden option
	* src/gengetopt.cc: check for --strict-hidden when automatically
	adding full and detailed help options, and pass presence of
	--strict-hidden to CmdlineParserCreeator
	* src/gm.cc, src/gm.h: when strictly hiding options, don't
	generate the full help string array and override generate_hidden
	in generate_help_option_list(); also, don't add details to the
	detailed help string array for options that are going to be hidden
	* src/gm_utils.cpp, src/gm_utils.h: has_options_with_details() now
	needs to know if strict option hiding is in effect so that it can
	ignore options that have details but will be hidden
	* doc/gengetopt.texinfo: updated for --strict-hidden feature

2012-07-17  Tim Marston  <tim@ed.am>

	* src/gm.cc: fixed NULL pointer defreference; fixed option list
	ordering inconsistency (which could lead to truncation of
	displayed options)

2012-07-11  Tim Marston  <tim@ed.am>

	* src/gm_utils.cpp: fixed line wrapping so that it handles
	(removes) extra spaces at the end of the line

2012-07-10  Tim Marston  <tim@ed.am>

	* src/cmdline.ggo: removed unnecessary additional new-line

2012-07-10  Tim Marston  <tim@ed.am>

	* src/skels/c_source.h_skel: added args_info_versiontext variable
	* src/scanner.ll, src/scanner.yy: added versiontext directive
	* src/gengetopt.cc: added gengetopt_versiontext variable and
	setter function
	* src/gm.cc: added versiontext string generator function

2011-09-05  bettini  <bettini@bettini-N150>

	* src/my_map.h: removed
	* src/my_string.h: removed
	* src/my_sstream.h: removed

	* src/gm.cc (CmdlineParserCreator::generate_usage_string):
	wraps and preprocess the usage string if specified in the input
	file.

2010-09-06  Lorenzo Bettini  <bettini@bettini-laptop>

	* src/gm_utils.cpp: do not consider a flag option as a typed one

2010-08-31  Lorenzo Bettini  <bettini@bettini-laptop>

	* tests/test_err.sh.in: double quote the variable to test

	* src/skels/Makefile.am (.h_skel.cc): files generated by gengen
	are created in the srcdir

2010-08-24  Lorenzo Bettini  <bettini@bettini-laptop>

	* src/gm.cc: initialize enum variables with generated null enum
	value instead of -1

	* src/skels/enum_decl.h_skel: added for generating enum declaration
	with default null enum value

2010-03-25  bettini  <bettini@bettini-laptop>

	* src/gm_utils.cpp (not_newlines): removed code that
	generated a bug for escaped newlines
	* src/scanner.ll: handle case for \n different from \\n

2009-12-23  Lorenzo Bettini  <bettini@bettini-prog-karmic>

	* src/Makefile.am (gengetopt_SOURCES): put
	generated bison and flex files in sources

2009-12-18  Lorenzo Bettini  <bettini@bettini-laptop-karmic>

	* src/skels/c_source.h_skel: removed other gcc warnings

	* tests/test_simple_multiple_cmd.ggo: added a simpler test
	for multiple options

2009-09-30  bettini  <bettini@bettini-laptop>

	* src/skels/header.h_skel: use prototypes with char ** instead of
	char *const *.
	* src/skels/c_source.h_skel: use prototypes with char ** instead of
	char *const *.
	#include <getopt.h> not "getopt.h"

2009-09-27  bettini  <bettini@bettini-laptop>

	* tests/output_dir/Makefile.am: New file.
	* tests/output_header_dir/Makefile.am: New file.
	* tests/Makefile.am: test for --output-dir, --src-output-dir,
	--header-output-dir

2009-09-27  Yegor Yefremov

	* src/cmdline.ggo: --header-output-dir and
	--src_output-dir to store cmdline.h separately from cmdline.c
	* src/gengetopt.cc (main): Ditto
	* src/gm.cc: Ditto
	* src/gm.h: Ditto

2009-09-27  Lorenzo Bettini

	* doc/gengetopt.texinfo: documented autoreconf
	* doc/index.html: Ditto

2009-08-09  bettini  <bettini@bettini-laptop>

	* src/skels/c_source.h_skel: put FIX_UNUSED in the right
	place
	* src/gm.cc (from_value_to_enum): translate '+' to "PLUS_" and
	'-' to "MINUS_"
	(canonize_enum): Ditto
	(CmdlineParserCreator::generate_enum_types): put FIX_UNUSED in the right
	place
	(CmdlineParserCreator::generate_option_values): Ditto
	(CmdlineParserCreator::generate_option_values_decl): Ditto
	* tests/test_values.c (main): use enum with + and -
	* tests/test_values.sh.in: Ditto
	* tests/test_values_cmd.ggo: Ditto
	* configure.ac: modified to build in a different directory
	* Makefile.am: modified to build in a different directory
	* tests/Makefile.am: modified to build in a different directory

2009-06-13  bettini  <bettini@bettini-desktop>

	* doc/gengetopt.texinfo: specified that package and version
	are required unless you use autoconf
	* configure.ac: some cleanup
	correctly use --docdir
	* gl/getopt_.h: Removed.
	* gl/m4/onceonly_2_57.m4: Removed.
	* gl/strdup.h: Removed.
	* gl/getopt.in.h: New file.
	* gl/m4/00gnulib.m4: New file.
	* gl/m4/extensions.m4: New file.
	* gl/m4/include_next.m4: New file.
	* gl/m4/onceonly.m4: New file.
	* gl/m4/string_h.m4: New file.
	* gl/string.h: New file.
	* gl/string.in.h: New file.
	* gl/unistd.h: New file.
	* gl/unistd.in.h: New file.
	* src/gengetopt.cc: include gnulib string.h
	* src/gm.cc: Ditto
	* src/gm_utils.cpp: Ditto
	* src/parser.yy: Ditto
	* src/scanner.ll: Ditto

2009-05-31  bettini  <bettini@bettini-laptop>

	* src/skels/c_source.h_skel: use PACKAGE_NAME if defined for
	printing help and version

2009-05-09  bettini  <bettini@bettini-desktop>

	* configure.ac: does not depend on flex library

2009-01-25  bettini  <bettini@dellbettini>

	* src\skels\custom_getopt_gen.h_skel: #undef of static variables
	to avoid compilation problems for some versions of stdlib.h

2008-01-18  Lorenzo Bettini  <bettini@laptop>

	* src/skels/c_source.h_skel: _min and _max fields of multiple options
	are unsigned int to avoid compilation warnings
	(free_multiple_field): avoid using void **, in order to avoid
	a warning when using -fstring-aliasing

2008-01-13  Lorenzo Bettini  <bettini@laptop>

	* src/skels/c_source.h_skel: boolean parameters are not int instead
	of short in order to avoid warnings
	size_t used in get_multiple_token also for indexes to avoid warnings

2008-01-10  Lorenzo Bettini  <bettini@laptop>

	* src/gm.cc (handle_options): correctly call set_has_short_option

	* tests/test_multiple.cc (main): renames test_multiple.c to employ
	the C++ stronger type checking

	* src/gm.cc (_generate_option_arg): fixed bug that did not generate
	a longlong pointer in case of multiple options, reported by Richard
	Eggert

2007-12-13  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: also write the corresponding value (not
	only the orig filed) into file

2007-11-05  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: update_arg is not generated if no
	option (besides the default ones) are specified in the .ggo file

	* src/parser.yy: added the details for options

2007-10-25  Lorenzo Bettini  <bettini@lorelap>

	* src/scanner.ll: added the type enum that can be used for options
	with values

2007-10-24  Lorenzo Bettini  <bettini@lorelap>

	* src/gm.cc (generate_help_option_print): in case of hidden options,
	the generated help string array reuses the strings of the full help
	array
	(generate_init_args_info): skip elements related to text before and
	after an option and also related to groups

2007-10-23  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: the params_init function now initializes
	the structure fields to their default values.  a params_create function
	was added to allocate such a structure and initialize it (to its
	default values)
	usage string is printed only if not empty (as suggested by
	Gyozo Papp)

2007-10-17  J. David Bryan

	* src/gengetopt.cc (main): generate --help handling if only -h
	is redefined (and so for --version)

	* src/skels/header.h_skel: added field print_errors to suppress
	getopt_long messages to stderr

2007-10-16  Papp Gyozo

	* src/skels/c_source.h_skel: added the generated function
	_dump to dump options into an already open stream

2007-10-07  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: (update_multiple_arg) the static generated
	function that takes care of updating a multiple option

2007-10-02  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: (update_arg) the static generated
	function that takes care of updating an option

2007-09-21  Lorenzo Bettini  <bettini@lorelap>

	* doc/Makefile.am: avoid tests if crosscompiling

	* tests/Makefile.am: avoid tests if crosscompiling

2007-07-28  Lorenzo Bettini  <bettini@lorelap>

        * COPYING: updated to version 3

	* src/skels/c_source.h_skel: correctly handle multiple options with
	backslashes (thanks to Peter Kovacs)

	* doc/Makefile.am: removed non-standard %. rules

	* src/skels/Makefile.am: removed non-standard %. rules

	* src/Makefile.am: removed non-standard %. rules

	* tests/Makefile.am: added explicit deps for .h and .c generated
	files (to make parallel make work)

2007-07-09  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/header.h_skel: define a structure for passing parameters
	to the parsers; and define versiones of parsers taking the params
	through this structure.
	Added the check_ambiguity parameter to check whether an option
	that is parsed is already present in the args_info struct
	Contains doxygen documentation

2007-07-01  Lorenzo Bettini  <bettini@lorelap>

	* src/gengetopt.cc (main): store args_info values after having
	examined also the (possible) args entry in the .ggo file (bug fixed)

2007-06-16  Lorenzo Bettini  <bettini@lorelap>

	* doc/gengetopt.texinfo (Configuration files): fixed override
	semantics documentation

2007-06-08  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/custom_getopt_gen.h_skel: does not check
	d->custom_optind == 1 as an initialization condition since it
	is not correct

2007-05-04  Lorenzo Bettini  <bettini@lorelap>

	* src/gm.cc (generate_handle_help): correctly generate the return
	inside the if in case of no_handle_help and full-help

	* configure.ac: removed AC_C_CONST since obsolescent

	* src/cxxconfig.h: removed

2007-04-15  Lorenzo Bettini  <bettini@lorelap>

	* src/cmdline.ggo: --default-optional added

	* src/ggos.cpp: required default depends on --default-optional

	* src/global_options.h: (struct GlobalOptions) contains options
	concerning the program (typically passed on the command line)

	* src/gm.cc (generate_help_option_list): don't generate a section
	if all of its options are hidden

2007-04-12  Lorenzo Bettini  <bettini@work>

	* src/skels/custom_getopt_gen.h_skel: declare all the needed structures and variables

	* src/skels/c_source.h_skel: don't include getopt.h if --include-getopt is specified

2007-01-20  Lorenzo Bettini  <bettini@lorelap>

	* autogen.sh: added (replaces reconf) for bootstrapping autotools

	* configure.ac: use libtool now

2007-01-12  Lorenzo Bettini  <bettini@lorelap>

	* src/scanner.ll: # comments not in strings (thanks to
	Matthew K. Junker)

2007-01-09  Lorenzo Bettini  <bettini@lorelap>

	* tests/test_err.sh.in: don't use -r GNU sed extension option, use
	-e instead

2007-01-06  Lorenzo Bettini  <bettini@lorelap>

	* doc/Makefile.am (cmdline2.o): make sure to use the complete compile
	command (that ensures the priority of headers from gnulib)

2006-12-19  Lorenzo Bettini  <bettini@prog.dsi.unifi.it>

	* src/gm.cc (generate_handle_help): also handle full-help

2006-12-11  Lorenzo Bettini  <bettini@lorelap>

	* configure.ac: use of Gnulib

2006-11-17  Lorenzo Bettini  <bettini@lorelap>

	* src/parser.yy: Added description string

2006-10-05  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel (_configfile): handle configuration
	file inclusione (thanks to David Bird)

2006-09-30  Lorenzo Bettini  <bettini@lorelap>

	* src/scanner.ll: strings can spawn more lines

2006-09-23  Lorenzo Bettini  <bettini@lorelap>

	* src/scanner.ll: correctly handle size specification of multiple
	options (bug fixed by Christian Ch'Gans)

	* src/gm.cc (generate_usage_string): handle no argument options
	and flag options in generation of long help

2006-09-03  Lorenzo Bettini  <bettini@lorelap>

	* src/gm.cc (generate_help_option_list): first print the section

2006-09-02  Lorenzo Bettini  <bettini@lorelap>

	* src/gengetopt.cc (output_formatted_string): remove the \ from
	a " (so that the " is actually printed on the screen instead of
	\")

2006-07-02  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/header.h_skel: use the passed header extension

	* src/skels/c_source.h_skel: use the passed header extension

2006-05-14  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: for comma separated multi option
	arguments, recognize the escape character

2006-05-13  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/custom_getopt_gen.h_skel: Andre Noll provided a
	customized version of getopt that can be called many times without
	affecting previously parsed arguments.

2006-05-07  Lorenzo Bettini  <bettini@lorelap>

	* src/cmdline.ggo: --output-dir command line option

2006-04-02  Lorenzo Bettini  <bettini@lorelap>

	* src/gm.cc: generate only one list struct for each type (not
	one for each multiple option)

2006-03-26  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/skels/header.h_skel: usage string

2006-03-25  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/skels/check_multiple.h_skel: check for multiple option
	occurrence range

2006-03-23  Lorenzo Bettini  <bettini@lorelap>

	* src/gm.cc (generate_free): generate the index i even if
	no multiple option is of type string

2006-03-10  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/header.h_skel: help strings and help fields

2006-02-25  Lorenzo Bettini  <bettini@lorelap>

	* src/gm.cc (generate_help_option_list): make sure not to use a
	negative number as a size to create a string, bug fixed

2006-02-16  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: set optind to 0 before invoking
	getopt_long, in order to discard any internal pointers and restart from
	scratch with the given argc, argv, rather than continue to parse
	the command line from the previous run. (as suggested by Andre Noll)

2006-02-12  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/c_source.h_skel: cmd_line_list is generated as
	static and this enables linking different parsers into the
	same executable (as suggested by Andre Noll)

	* src/gm.cc: deal with --full-help in the presence of
	hidden options

2005-12-22  Lorenzo Bettini  <bettini@lorelap>

	* src/skels/update_arg.h_skel: added the check for the result
	of a numeric conversion

2005-09-07  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/ggos.h (struct gengetopt_option): store input filename
	and line number information
	(struct gengetopt_option): added the dependson field

2005-09-06  Lorenzo Bettini  <bettini@localhost.localdomain>

	* tests/test_all_opts_cmd.ggo: has a hidden option that
	can be specified but does not appear in the help output

	* src/ggos.h (struct gengetopt_option): added the hidden
	field

2005-09-05  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/parser.yy: the parts of options can
	be given in any order

2005-09-03  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/skels/generic_option.h_skel: name for enumerated values
	is prefixed with the parser name

2005-08-16  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/ggo_options.h (foropt): use && to assign *it to opt
	instead of the , otherwise with gcc 4.0.1 it segfaults

2005-08-13  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/gm.cc (generate_handle_group): when we check for a required
	option of a group we also check that "check_required" was
	specified.  Otherwise the check is performed in the
	_required generated function.

2005-08-12  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/skels/option_arg.h_skel: Added the _orig field that
	stores the original value passed at the command line.

2005-08-10  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/skels/file_save.h_skel: saves args_info contents into
	a file.

	* src/skels/c_source.h_skel (configfile): use dynamic memory
	instead of a static vector.
	Use a constant that can be redefined upon compilation for
	the size of a line read from the configuration file.

2005-07-06  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/gengetopt.cc (main): check whether an option for help
	and version is already present, thus allowing redefining
	the standard --help,-h and --version,-V options

2005-04-13  Lorenzo Bettini  <bettini@localhost.localdomain>

	* src/gm_utils.cpp (char_is_newline): fixed a problem with
	a string containing only new line chars
	(wrap_cstr): keep the right number of new line chars

2004-12-30  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/skels/handle_help.h_skel: free local_args_info before
	exiting or returning

	* src/skels/handle_version.h_skel: free local_args_info before
	exiting or returning

2004-11-25  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* tests/valgrind_tests.sh.in: updated, for some time it hasn't
	checked correctly for leaks.
	Many leaks have been removed again now

2004-10-28    <http://www.lorenzobettini.it>

	* src/parser.yy: group options can be multiple and have
	argoptional

	* src/skels/multiple_option.h_skel: the test for values is performed
	after tokenizing arguments possibly separated by commas

	* src/skels/multiple_option_new_list_node.h_skel: removed
	embedded in multiple_option.h_skel

2004-09-22  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/gm.cc (_generate_option_arg): simplified using
	option_arg_gen_class

	* src/skels/option_arg.h_skel: to generate the _arg fields of
	args_struct

	* src/gm.cc (do_update_arg): simplified using update_arg_gen_class

	* src/skels/update_arg.h_skel: replace all the other generators for
	single data types

2004-09-17  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/gm.cc (handle_options): only one function to deal both with
	option with short version and without

	* src/ggos.h (struct gengetopt_option): not an invasive list,
	only an option, and the list of option is implemented as a
	std::list

2004-09-16  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/skels/c_source.h_skel: define also the function to
	expliticly check whether a required option has been provided

	* src/cmdline.ggo: option --show-help that only prints how the output
	of --help would be, without generating code
	--show-version that only prints how the output of --version would be,
	without generating code
	--set-package and --set-version to set these values

2004-09-14  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/gm.cc: use argv[0] when printing errors

	* src/cmdline.ggo: each option has a short version

2004-09-13  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/parser.yy: accept the list of values that can be passed to
	an option

	* src/acceptedvalues.h (class AcceptedValues): possible values for
	an option

2004-08-10  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/gm.cc (generate_reset_groups): generate the reset function
	only if this group has options

	* src/skels/c_source.h_skel: many additional .h_skel files have
	been removed, and their contents are included here using the
	new conditional constructs of gengen

2004-08-03  Lorenzo Bettini  <http://www.lorenzobettini.it>

	* src/skels/config_parser_source.h_skel: better check for string
	well-formedness

2004-07-11  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm_utils.cpp: contain utility functions used in gm

        * src/fileutils.cpp: file routines used in gm

        * src/gm.cc: (wrap_cstr) do not consider '=' a separating
        character
        (is_char_newline) recognize also actual \n
        (generate_help_option_print) deal better with very long
        descriptions

2004-06-16  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_help_option_print): set the maximum for the
        column where the description of an option starts to be displayed.
        In case it starts on a new line

2004-06-15  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (wrap_cstr): wrapping is isolated in a function so
        that it can be used also for printing purposes and other
        descriptions

2004-06-13  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/config_parser_source.h_skel: deal with '=' in the config
        files

2004-05-16  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_option_given): _given field is generated
        unsigned for multiple options

2004-05-01  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (do_update_arg): set the argument to NULL if it is
        a multiple string option

2004-04-08  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.12

        * src/cmdline.ggo: Added --c-extension and --header-extension
        as proposed by Brooks Davis

2004-04-01  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_help_option_print): generate the printf
        with "%s", so that default values can contain %

2004-02-21  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/config_parser_source.h_skel: idem

        * src/skels/c_source.h_skel: exit failure is only in one point
        so that the args_info struct can be cleared (removed memory leaks)

2004-02-03  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/parser.yy: allow multiple options without argument

        * src/skels/multiple_option_new_list_node.h_skel: added to separate
        creation of a multiple option list node, so that also multiple
        options without argument can be handled

2004-01-18  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/config_parser_source.h_skel: check for len > and not
        ==.
        rewritten in order to exploit getopt_long

2004-01-13  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/generic_option_group.h_skel: before incrementing the
        counter, if override is specified, reset all the group options

        * src/skels/reset_group.h_skel: template function for resetting
        a group option

2004-01-11  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/multiple_fill_array.h_skel: leave the multiple options
        in the same order they are given

        * src/skels/generic_option.h_skel: check a local struct to understand
        whether the same option is given more than once

        * src/skels/config_parser_source.h_skel: the # can also be in
        non first position in a line.
        the generated config file parser relies on the standard command
        line parser

        * src/skels/c_source.h_skel: the main parsing function is a static
        internal function _internal that also takes the parameter
        check_required that decides whether required options are checked;
        and also an additional error string explaining where the error occurred
        default is ""

2004-01-06  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/conf_parser_gen.cc (generate_multiple_fill_array): update
        multiple options

        * src/skels/multiple_fill_array_default.h_skel: check whether the
        default has not been previously set

2004-01-05  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/multiple_opt_struct.h_skel: the creation of structs for
        multiple option lists is separated from the actual declaration of
        lists

        * src/skels/string_opt_arg.h_skel: always free previous memory
        before

        * src/skels/string_opt_arg_no_free.h_skel: initialize a string
        withouth freeing memory before

2004-01-03  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/cmdline.ggo: --unamed-opts can be given an optional argument
        describing the additional arguments without names, default is still
        FILES

        * src/gm.cc (do_update_arg): add the check for optarg that is
        important for options with optional arguments
        (generate_usage_string): use the specified name for unamed-options

        * src/cmdline.ggo: --arg-struct-name option for specifying the
        name of the generated struct for args info, default is still
        gengetopt_args_info

        * src/skels/config_parser_source.h_skel: added a parameter to the
        config file parser that specifies whether the args_info has to
        be initialized

        * src/skels/c_source.h_skel: an _init function is also generated
        instead of clear_args that allows to initialize an args_info struct

2004-01-02  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_free): added for freeing the memory
        used by gengetopt strduped strings and multiple options arrays
        (generate_clear_arg): clear_args is called only once, before
        starting the parsing

2003-11-26  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gengetopt.cc (gengetopt_add_option): deal with options
        with optional arguments

        * src/parser.yy: allow an option to have an optional argument

        * src/skels/gen_strdup.h_skel: check whether the string to copy
        is not null

2003-10-25  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/cmdline.ggo: added the flag to turn off generation of
        gengetopt version number in the output file

        * src/skels/c_source.h_skel: config.h is included before any
        other header

2003-07-23  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/Makefile.am (AM_LFLAGS): use case insensitive option for
        generating the scanner

2003-07-22  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_help_option_print): generate also group
        description

        * src/scanner.ll: recognize groupdesc

        * src/groups.h (struct Group): contain group information, added
        group description

2003-07-19  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_help_option_print): generate also
        section information

        * src/gengetopt.cc (gengetopt_set_section): set the current
        section during parsing

        * src/ggos.h (struct gengetopt_option): include section field

2003-07-18  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/parser.yy: sectiondef for defining section of options

        * src/skels/string_opt_arg_free.h_skel: added to free memory
        allocated for default string value when an argument is given

2003-07-06  Michael Hagemann  <michael.hagemann@unibas.ch>

        * src/scanner.ll: recognize typestr option

        * src/gm.cc (generate_help_option_print): generate a more
        compact --help output
        (generate_help_desc_print): added, perform word wrapping for
        long help lines

        * src/gengetopt.cc (gengetopt_add_option): also handle type_str

        * src/parser.yy: some clean up and parsing of typestr for
        the description of the type of the option, see below

        * src/ggos.h (struct gengetopt_option): added type_str: a more
        descriptive description of the type of an option, e.g., "filename"
        instead of simply STRING

2003-07-05  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_handle_no_short_option): deal also with
        multiple options

        * src/skels/multiple_option_no_short.h_skel: added to deal with
        multiple option with no short version

        * src/gm.cc (generate_multiple_fill_array): if a default value
        is provided for this multipl option, generate the else branch
        for setting the value of the option to the default value

        * src/skels/multiple_fill_array_default.h_skel: added to handle
        default values for multiple options

        * src/skels/multiple_fill_array.h_skel (if): allocate an array
        only if a value is given for this multiple option

        * src/gm.cc (generate_clear_arg): always initialize to NULL the
        _arg of a multiple option (it is always a pointer)

2003-06-15  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/config_parser_source.h_skel: fixed a problem in
        setting the terminating '\0'

2003-05-22  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.10

2003-05-21  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/config_parser_source.h_skel: Also handle quoted
        strings

2003-05-12  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/gen_strdup.h_skel: added for generating
        strdup in the generated parser

        * src/gm.cc (CmdlineParserCreator): fixed some compilation
        errors due to the ? operator

        * src/conf_parser_gen.cc (generate_handle_single_option): use
        long_long_gen for dealing with long long

        * src/skels/copyright.h_skel: added for generating the
        copyright

        * src/gengetopt.cc (print_reportbugs): do not use reportbugs.text
        anymore
        (print_copyright): use copyright_gen_class

2003-05-01  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/header.h_skel: package and version are defined for
        a parser and values defined in the .ggo have the precedence over
        PACKAGE and VERSION

        * src/skels/long_long_opt_arg.h_skel: added for handling
        long long options

2003-04-29  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_handle_group): handle possible space in
        group names

        * src/yyerror.cc (yyerror): get a const char *

        * src/skels/c_source.h_skel: initialize stop_char to 0
        and this should avoid compilation warning

2003-04-24  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc: always use gengetopt_strdup in generated files

        * src/skels/c_source.h_skel: gengetopt_strdup is generated
        even if strdup is in the standard library

        * configure.in: check for long long

        * src/gm.cc (do_update_arg): switch to long if long long is
        not supported

2003-04-19  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/multiple_fill_array.h_skel: explicitly cast the result
        of malloc

        * src/skels/multiple_option.h_skel: explicitly cast the result
        of malloc

        * tests/test_conf_parser.c (main): removed C++ style comment

        * src/gm.cc: correctly refer to strdup

        * src/gengetopt.cc: correctly refer to strdup

        * acinclude.m4 (AC_adl_FUNC_GETOPT_LONG): added for correctly
        checking for getopt.h and getopt_long

2003-04-13  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.9

        * src/gm.cc (generate_handle_no_short_option): handle group
        options without short options

        * tests/Makefile.am (check-diff): check with diff also the output of
        tests

        * src/parser.yy: (check_result) correctly print the line number
        containing the error

        * src/gm.cc: (strip_path) remove path information when generating
        some header file information (e.g., #ifndef)

2003-03-17  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/Makefile.am: explicit rules do not use $<

        * tests/Makefile.am: explicit rules do not use $<

        * doc/Makefile.am: explicit rules do not use $<

2003-02-21  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/scanner.ll: ignore \r characters

2002-12-30  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.8

2002-11-28  Janico Greifenberg <jgre@tzi.de>

        * src/skels/multiple_option.h_skel: skeleton for handling a
        multiple option

        * src/skels/multiple_opt_list.h_skel: skeleton for the list structure

        * src/skels/multiple_fill_array.h_skel: skeleton file for filling
        the array for multiple options

        * src/gm.cc (generate_option_arg): handle multiple options
        (generate_multiple_fill_array): fill the array of multiple otpions

2002-11-18  Janico Greifenberg <jgre@tzi.de>

        * src/parser.yy (exp): Added multiple option

2002-09-04  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/scanner.ll: turned in a C++ scanner

        * src/parser.yy: turned in a C++ parser

2002-08-25  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/conf_parser_gen.h (class ConfigParserGenerator): take care
        of generating the config file parser

        * src/skels/config_parser_source.h_skel: added to generate the
        config file parser

2002-08-22  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_help_option_print): also print group
        for group options

        * src/yyerror.c (yyerror): also print position of error

        * src/parser.y (exp_yesno): removed a useless rule for standard
        options

2002-08-18  Ronnie Lazar  <Ronnie@eldat.com>

        * src/skels/int_opt_arg.h_skel: use strtol as well so to handle
        integer in hex format

        * src/parser.y: deal with group option

        * src/skels/group_option.h_skel: added to handle errors with group
        handling

        * src/gm.cc (generate_handle_option): generate group handling

        * src/ggos.h (struct gengetopt_option): added group_value field

        * src/gengetopt.cc (gengetopt_add_group): handle group options

2002-08-15  Pierre Bacquet  <pbacquet@delta.fr>

        * src/parser.y (check_result): use error code 5 for invalid
        default values

        * src/ggos.h (struct gengetopt_option): default values are
        always stored in a string

        * src/gengetopt.cc (gengetopt_add_option): use strtod and strtol to
        handle default values for long and double options

2002-08-15  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * configure.in: move to automake 1.6.2 and autoconf 2.53

2002-07-21  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.7.1 released

2002-07-13  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels: generators are generated with version 0.4.1 that does
        not repeat default values in the .cc sources; this used to cause
        problems with some gcc 3.x versions.  Indeed that was an error.

2002-07-10  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/Makefile.am (INCLUDES): do not add includes directory, this
        way if sstream is provided by the compiler, that version is used.

2002-07-07  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * configure.in: Added check for stl and namespaces

2002-06-30  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.7 released

2002-05-31  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (do_update_arg): manually generate break

2002-04-01  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate_strdup): generate strdup function between
        #ifndef HAVE_STRDUP, in order to avoid the warning

        * tests/Makefile.am (check-diff): Added target to check whether
        the generated code is different from what it used to be

2002-03-11  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/skels/header.h_skel: removed the misleading
        "WRITE THE NAME OF YOUR PROGRAM HERE" from the generated header

2002-03-09  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>

        * src/yyerror.c (yyerror): print the input file name

        * src/gm.cc (generate_header_file): simply rely on the code
        generated by gengen
        (generate_option_arg): implicitly called when option args struct
        members are to be created
        (generate_option_given): the same but for _given fields

        * src/gm.h (class CmdlineParserCreator): inherit from header_gen_class
        generated by gengen

        * src/skels/header.h_skel: the skeleton for generated header file

        * configure.in (GENGEN): use gengen for automatically
         generate a generator

2002-03-02  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.cc (generate): gm.c is removed, now we have a class and
        methods: I switched to C++ !!! :-)

        * src/gm.h (class CmdlineParserCreator): class for the command line
        parser generator

        * NEWS: Version 2.6 released

        * src/cmdline.ggo: use defaults for func-name and file-name

2002-03-01  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.c (generate_cmdline_parser): possibly generate assignments
        for default values

        * src/ggos.h (struct gengetopt_option): added fields for default
        values

        * src/gengetopt.c (gengetopt_add_option): do not consider an error
        an empty desc
        (main): set comment[1][0] to 0 after malloc
        (gengetopt_add_option): also handle default values

2001-12-31  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.c (generate_cmdline_parser): if HAVE_STRDUP is defined
        then use the standard strdup
        use EXIT_FAILURE and EXIT_SUCCESS for exit

        * src/parser.y: an empty line at the end of the .ggo file is no
        longer needed

        * src/scanner.l (update_count_line): update gengetopt_count_line
        also within a string TOK_MLSTRING; this way possible errors in the
        .ggo files are notified with the right line number
        for # comments '\n' are excluded

        * src/gm.c (canonize_names): Added to canonize a name
        (generate_cmdline_parser): function names and #define directives
        are canonized

        * tests/canonize-names-cmd.ggo: Added to test how function names
        and #define directives are canonized

2001-12-18  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.5 released

2001-12-16  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * configure.in: test for alloca is no more necessary with these
        new versions of getopt

        * src/getopt.c: much more modern version taken from GNU C library

        * src/getopt1.c: much more modern version taken from GNU C library

        * src/getopt.h: much more modern version taken from GNU C library

2001-11-12  Brian Minard  <bminard@flatfoot.ca>

        * src/gm.c (gengetopt_strlen): removed, it is no use
        (generate_cmdline_parser) gengetopt_strdup is generated from
        gengetopt_strdup.text

        * src/gengetopt_strdup.text: automatically generated from strdup.c

2001-11-01  Brian Minard  <bminard@flatfoot.ca>

        * src/gm.c (generate_cmdline_parser): use (size_t) for specifying
        malloc argument when generating gengetopt_strdup

2001-10-09  Herbert Thoma  <tma@iis.fhg.de>

        * src/gm.c (generate_cmdline_parser): generate a different printf
        in the generated print_help function for every option, thus avoiding
        to generate an help string that's too long

2001-09-03  Guillaume Chazarain  <booh@altern.org>

        * src/gm.c (do_check_option_given): Set args_info->option_given to 1
        also when option is a flag (bug fixed).

2001-08-13  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: Version 2.4 released

2001-06-24  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * doc/Makefile.am: testdata is not removed as a maintainer file

        * src/gm.c: included string.h

        * src/scanner.l: included string.h

2001-06-10  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.c (generate_cmdline_parser): optind is generated = 1,
        otherwise it doesn't work with cygwin

2001-05-19  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/strdup.c (strdup): Test for a bad allocation and return 0
        in that case

2001-05-06  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * tests/Makefile.am (no_optgiven_cmd.c): this file it is generated
        with --no-handle-error option

        * src/cmdline.ggo: Added no-handle-error

        * src/Makefile.am: the command line parser is generated with the
        option --no-handle-help

        * src/gm.c (generate_cmdline_parser): Added generation of instructions
        that let the command line parser to be called more than once,
        suggested by Eric H Kinzie <ekinzie@cmf.nrl.navy.mil>.
        (generate_error_handle): Added to generate return 1 instead of
        exit 1 if --no-handle-error is given.
        Thus print_help is not autmoatically called when an option is
        given more than once, as it was before

        * tests/more_than_once.c (main): Call the command line parser
        twice and print the values of the parameters

        * tests/more_than_once.sh.in: Added to test when the command
        line parser is called more than once

        * doc/gengetopt.html.in: updated footer copyright

        * configure.in: moved to 2.4

2001-05-05  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * tests/no_optgiven.sh.in: removed the negation !, not recognized
        on some systems.

        * tests/Makefile.am (LDFLAGS): Added to use INCLUDES also in the
        linking, because some files are compiled in that moment

        * doc/Makefile.am (INCLUDES): Added
        (EXTRA_DIST): removed getopt.h from this directory

        * tests/Makefile.am (INCLUDES): and (LDADD) to consider the case
        that there's no getopt_long in the C library

        * configure.in: moved to 2.3.1

2001-04-10  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * Version 2.3

        * tests/Makefile.am (TESTS): Added tests

2001-03-23  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.c (generate_cmdline_parser): gengetopt_strdup is only
        generated if a string option is used or --unamed-opt was
        specified

        * tests/Makefile.am: Added

        * src/gm.c (generate_cmdline_parser): for inputs gengetopt_strdup,
        instead of standard strdup, is used.

2001-03-22  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * doc/no_getopt_long.txt: Added alloca instructions

2001-03-20  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gengetopt.c (main): handle --help and --version

        * src/copyright.text: Added to be processed by txtc compiler

        * configure.in: use TXTC

        * src/gm.c (generate_cmdline_parser): if previous options are given
        do not print help and version automatically and exit. Provide
        the functions for print_help and print_version prefixing with
        function_name parameter

        * src/cmdline.ggo: Added --no-handle-help and --no-handle-version not
        to handle --help and --version automatically

        * doc/Makefile.am (check): diff with the previous output

2001-02-09  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>

        * src/gm.c (generate_cmdline_parser): generate print also if no
        purpose is specified (bug fixed)

2001-02-06  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * acinclude.m4 (AC_NONGNU_FLAGS): Added to check if it is a non-GNU
        compiler and if it handles -Aa option

        * src/cxxconfig.h: Added to make const work for C++ compilers even if
        it doesn't work for C compilers

        * configure.in: Added test for AC_C_CONST

2001-02-04  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/alloca.c: Added taken from GNU hello

        * configure.in: Added AC_FUNC_ALLOCA

        * src/cmdline.ggo: Added purpose

        * src/gm.c (generate_cmdline_parser): print_version and print_help
        are public

2001-01-30  Berthold H�llmann <hoel@germanlloyd.org>

        * src/gm.c (generate_cmdline_parser): purpose is generated in
        print_help

        * src/parser.y: PURPOSE added to the syntax

        * src/scanner.l: TOK_MLSTRING for strings with newline

        * src/gengetopt.c (gengetopt_define_purpose):

2001-01-11  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * NEWS: version 2.2 released

        * doc/no_getopt_long.txt: Added AC_SUBST when you use AC_CHECK_FUNCS

        * src/gm.c (generate_cmdline_parser): changed the style of all
        printf, when strings are in more than one line

2000-12-04  Robert Walsh <Robert.J.Walsh@eng.sun.com>

        * src/gm.c: changed the style of printf strings, removed C++ comment,
        now compile without warning under Sun compiler.

2000-11-01  Richard Heggs <richard@virtua-web.co.uk>

        * src/gm.c: VERSION and PACKAGE are generated in cmdline.h instead of
        cmdline.c

2000-10-10  Person or Persons Unknown <damned@world.std.com>

        * src/gengetopt.c: handle long options with no short option.

        * src/gm.c: handle long options with no short option.

2000-10-09  Scott Haug <scott@id3.org>

        * src/gm.c: change argv's type from 'char**' to 'char * const *'.
        This better matches the type signature of getopt_long,
        and it prevents compiler warnings.
        #undef's PACKAGE and VERSION before setting them, in case they
        are defined in the .ggo file.

2000-09-26  N. Becker <nbecker@fred.net>

        * src/scanner.l: now accepts any string

        * src/parser.y: exp_str is only TOK_STRING

2000-09-20  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>

        * NEWS: version 2.1 released

        * doc/Makefile.am: examples are installed in a subdirectory
        under doc

        * doc/gengetopt.html.in: the version number is substituted by
        configure

        * src/gm.c: (generate_cmdline_parser) fixed a bug for the generated
        code, a malloc was not casted

        * doc/gengetopt.1.in: modified by James R. Van Zandt
        <jrv@vanzandt.mv.com>

        * doc/gengetopt.html: we do not include sections from the GNU
        coding standards.

        * LICENSE: the generated code is not under any license

2000-08-01  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>

        * NEWS: version 2.0 released

        * doc/gengetopt.html: warning for win32 users, and md5sum and
        gpg signed

        * doc/Makefile.am (cmdline1.c.html): bug fixed for win

        * src/Makefile.am: check if gengetopt is already build before
         trying to build cmdline.c

2000-07-31  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * doc/Makefile.am (cmdline1.c.html): no recompilation if cpp2html is
        not installed

        * configure.in (NO_CPP2HTML): if cpp2html is not installed

2000-07-30  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>

        * doc/gengetopt.1.in: made it obsolete

        * doc/no_getopt_long.txt: how to check if getopt_long is in the
        standard library and what to do if it is not.

        * doc/gengetopt.html: mailing lists

        * LICENSE: Copyright is assigned in behalf of the Free
        Software Foundation.

2000-07-23  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>

        * doc/man_getopt.html: added, it is the man page of getopt

        * doc/Makefile.am (gengetoptdoc_DATA): also examples are in doc dir

        * configure.in (CPP2HTML): use cpp2html to format sample files

        * src/cmdline.ggo: no option is required

        * src/gm.c: generate the test for required options

        * src/ggos.h (struct gengetopt_option): field for flagstat and
        for required

        * src/gm.c (generate_cmdline_parser): initialize flags and strings

        * Makefile.am (gengetoptdoc_DATA): install ChangeLog and other files
        in doc dir

        * src/gm.c (generate_cmdline_parser): fixed a bug about wrong
        indentation in .h generated file.

2000-07-09  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.c (indent): Added for indenting like GNU standards
        (check_option_given): function instead of macro
        (generate_cmdline_parser): now indent according to GNU standards

2000-07-01  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/gm.c (generate_cmdline_parser): "redeclared" error message
        renamed in "given more than once"

        * configure.in (gengetoptdocdir): use $datadir instead of $prefix

2000-01-12  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * doc/Makefile.am (man_MANS): man page installed, and html pages

2000-01-10  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>

        * doc/Makefile.am: check for NO_GETOPTLONG and NO_STRDUP, and in
        case link with .o in src dir

        * configure.in (TAR): check for tar program.
        (NO_GETOPTLONG): a conditional for check

2000-01-10  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * doc/Makefile.am: added sample1 and sample2, two test programs
        sample1 is a C++ prog, and uses unamed options

        * configure.in: (AC_PROG_CXX) we use C++ in a test file

2000-01-09  Lorenzo Bettini  <http://www.lorenzobettini.it>

        * src/cmdline.ggo: it contains gengetopt command line

        * src/gengetopt.c (gengetopt_strdup) (gengetopt_strcmp): erased.
         (main): handles command line options

        * configure.in (strdup): if not found we use our strdup.c
        (const): check if const is supported

        * src/gm.c (generate_cmdline_parser): gets unamed_options param
        to generate unamed_options fields in the structure.
        char **inputs and inputs_num added to the structure to hold
        unamed options.
        string.h included.
        create an header file and an output file.
        the header file can used in C++ as well.
        for ARG_NO options a _given field is generated and handled.
        a comment can be passed, e.g. the command line used to generate file,
        to be printed in the comment at the top of generated file.

2000-01-09  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>

        * src/gm.c: a struct is generated for args info, instead of
        using variables

2000-01-08  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>

        * src/gm.h : Added

        * src/gm.c (generate_cmdline_parser): generate_main renamed
        config.h is included with " instead of <>.
        the name of the function to generate is passed.

        * src/ggos.h: config.h included: VERSION and PACKAGE are defined there

        * configure.in: (--enable-warnings) option added to configure
        this way -Wall is added to compiler options.

        * src/gengetopt.h: added with functions exported by gengetopt.c

        * src/parser.y: inclusion of stdlib for malloc and free, and string.h
        extern yyerror and yylex, include gengetopt.h.
        automake renames y.tab.c in parser.c

        * src/yyerror.c (yyerror): made it void

        * src/scanner.l: scanner.lex renamed scanner.l, and it includes
        parser.h, renamed by automake.
        automake renames the c file to scanner.c

        * started to use automake and autoconf; created src and doc dir

