1228060SbaptNew in 3.0.3: 2228060Sbapt 3228060Sbapt* The generated C code is compatible with gcc-4.3.x in c99 or gnu99 mode. 4228060Sbapt 5228060SbaptNew in 3.0.2: 6228060Sbapt 7228060Sbapt* Compiles with g++-4.0.x. 8228060Sbapt* Added option --length-table-name. 9228060Sbapt* Added declaration %define length-table-name. 10228060Sbapt* Fixed #line directives for filenames containing backslashes. 11228060Sbapt 12228060SbaptNew in 3.0.1: 13228060Sbapt 14228060Sbapt* Bug fix. 15228060Sbapt 16228060SbaptNew in 3.0: 17228060Sbapt 18228060Sbapt* Added option --output that allows to specify the output file name. 19228060Sbapt* Some options have been renamed: 20228060Sbapt --hash-fn-name=NAME --> --hash-function-name=NAME 21228060Sbapt --lookup-fn-name=NAME --> --lookup-function-name=NAME 22228060Sbapt --compare-strlen --> --compare-lengths 23228060Sbapt --global --> --global-table 24228060Sbapt The older variants are still supported for backward compatibility. 25228060Sbapt* The following options can now be specified inside the input file: 26228060Sbapt %delimiters=DELIMITER-LIST 27228060Sbapt %struct-type 28228060Sbapt %ignore-case 29228060Sbapt %language=LANGUAGE-NAME 30228060Sbapt %define slot-name NAME 31228060Sbapt %define initializer-suffix INITIALIZERS 32228060Sbapt %define hash-function-name NAME 33228060Sbapt %define lookup-function-name NAME 34228060Sbapt %define class-name NAME 35228060Sbapt %7bit 36228060Sbapt %compare-lengths 37228060Sbapt %compare-strncmp 38228060Sbapt %readonly-tables 39228060Sbapt %enum 40228060Sbapt %includes 41228060Sbapt %global-table 42228060Sbapt %pic 43228060Sbapt %define string-pool-name NAME 44228060Sbapt %null-strings 45228060Sbapt %define word-array-name NAME 46228060Sbapt %switch=COUNT 47228060Sbapt %omit-struct-type 48228060Sbapt* When the option -k is not given, the default key positions are now 49228060Sbapt computed depending on the set of keywords. 50228060Sbapt* If the input file is given by name, the output file will now contain 51228060Sbapt #line directives referring to the input file. 52228060Sbapt* Some keyword sets containing permutations, like { "xy", "yx", "xz", "zx" } 53228060Sbapt or { "abc", "acb", "bca", "cab" }, are now handled by gperf without 54228060Sbapt requiring the option -D. 55228060Sbapt* The generated table is usually much smaller than it was with earlier 56228060Sbapt versions of gperf. 57228060Sbapt* Added option -m/--multiple-iterations that allows to further reduce the 58228060Sbapt size of the generated table. 59228060Sbapt* When the search for a good hash function is not immediately successful, 60228060Sbapt the table's size will grow as needed. Earlier versions of gperf bailed 61228060Sbapt out with an "Internal error, duplicate hash code value". 62228060Sbapt* The options -f/--fast and -o/--occurrence-sort have no effect any more. 63228060Sbapt* Added options -P/--pic and --null-strings that optimize the generated code 64228060Sbapt for use in shared libraries. -P/--pic does a perfect optimization but may 65228060Sbapt require some small code changes (see the documentation for details), whereas 66228060Sbapt --null-strings does only a half-hearted optimization but works without 67228060Sbapt needing any change to surrounding code. 68228060Sbapt* Added option --ignore-case that produces a case independent lookup function. 69228060Sbapt* Bug fixes. 70228060Sbapt 7167064SobrienNew in 2.7.2: 7267064Sobrien 7367064Sobrien* Keywords may now be enclosed in double quotes; this permits the use of 7467064Sobrien '#', ',', space or NUL inside keywords. 7567064Sobrien* Bug fixes. 7667064Sobrien 7767064SobrienNew in 2.7.1: 7867064Sobrien 7967064Sobrien* Added option "-F" for gcc. 8067064Sobrien 8158551SkrisNew in 2.7: 8258551Skris 8358551Skris* gperf is now a stand-alone package, untied from libg++. 8458551Skris* Autoconfiguring. 8558551Skris* Removed the "-a" and "-g" options, extended the "-L" option instead. 8658551Skris* Removed the "-p" option, it is the default. 8758551Skris* Added long options ("--help", "--version" etc.). 8858551Skris* 8-bit cleanliness is now the default; use "-7" to get the old behaviour. 8958551Skris* Compiles with any C++ compiler. 9058551Skris* Numerous small improvements. 9158551Skris 92