2002-07-21 Lorenzo Bettini * NEWS: Version 2.7.1 released 2002-07-13 Lorenzo Bettini * 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 * 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 * configure.in: Added check for stl and namespaces 2002-06-30 Lorenzo Bettini * NEWS: Version 2.7 released 2002-05-31 Lorenzo Bettini * src/gm.cc (do_update_arg): manually generate break 2002-04-01 Lorenzo Bettini * 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 * src/skels/header.h_skel: removed the misleading "WRITE THE NAME OF YOUR PROGRAM HERE" from the generated header 2002-03-09 Lorenzo Bettini * 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 * 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 * 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 * 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 * NEWS: Version 2.5 released 2001-12-16 Lorenzo Bettini * 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 * 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 * src/gm.c (generate_cmdline_parser): use (size_t) for specifying malloc argument when generating gengetopt_strdup 2001-10-09 Herbert Thoma * 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 * 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 * NEWS: Version 2.4 released 2001-06-24 Lorenzo Bettini * 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 * src/gm.c (generate_cmdline_parser): optind is generated = 1, otherwise it doesn't work with cygwin 2001-05-19 Lorenzo Bettini * src/strdup.c (strdup): Test for a bad allocation and return 0 in that case 2001-05-06 Lorenzo Bettini * 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 . (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 * 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 * Version 2.3 * tests/Makefile.am (TESTS): Added tests 2001-03-23 Lorenzo Bettini * 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 * doc/no_getopt_long.txt: Added alloca instructions 2001-03-20 Lorenzo Bettini * 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 * src/gm.c (generate_cmdline_parser): generate print also if no purpose is specified (bug fixed) 2001-02-06 Lorenzo Bettini * 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 * 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 * 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 * 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 * src/gm.c: changed the style of printf strings, removed C++ comment, now compile without warning under Sun compiler. 2000-11-01 Richard Heggs * src/gm.c: VERSION and PACKAGE are generated in cmdline.h instead of cmdline.c 2000-10-10 Person or Persons Unknown * 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 * 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 * src/scanner.l: now accepts any string * src/parser.y: exp_str is only TOK_STRING 2000-09-20 Lorenzo Bettini (LAP) * 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 * 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 * 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 * 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) * 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) * 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 * 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 * 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 * doc/Makefile.am (man_MANS): man page installed, and html pages 2000-01-10 Lorenzo Bettini * 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 * 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 * 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) * src/gm.c: a struct is generated for args info, instead of using variables 2000-01-08 Lorenzo Bettini (LAP) * 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