1New in 3.0.3: 2 3* The generated C code is compatible with gcc-4.3.x in c99 or gnu99 mode. 4 5New in 3.0.2: 6 7* Compiles with g++-4.0.x. 8* Added option --length-table-name. 9* Added declaration %define length-table-name. 10* Fixed #line directives for filenames containing backslashes. 11 12New in 3.0.1: 13 14* Bug fix. 15 16New in 3.0: 17 18* Added option --output that allows to specify the output file name. 19* Some options have been renamed: 20 --hash-fn-name=NAME --> --hash-function-name=NAME 21 --lookup-fn-name=NAME --> --lookup-function-name=NAME 22 --compare-strlen --> --compare-lengths 23 --global --> --global-table 24 The older variants are still supported for backward compatibility. 25* The following options can now be specified inside the input file: 26 %delimiters=DELIMITER-LIST 27 %struct-type 28 %ignore-case 29 %language=LANGUAGE-NAME 30 %define slot-name NAME 31 %define initializer-suffix INITIALIZERS 32 %define hash-function-name NAME 33 %define lookup-function-name NAME 34 %define class-name NAME 35 %7bit 36 %compare-lengths 37 %compare-strncmp 38 %readonly-tables 39 %enum 40 %includes 41 %global-table 42 %pic 43 %define string-pool-name NAME 44 %null-strings 45 %define word-array-name NAME 46 %switch=COUNT 47 %omit-struct-type 48* When the option -k is not given, the default key positions are now 49 computed depending on the set of keywords. 50* If the input file is given by name, the output file will now contain 51 #line directives referring to the input file. 52* Some keyword sets containing permutations, like { "xy", "yx", "xz", "zx" } 53 or { "abc", "acb", "bca", "cab" }, are now handled by gperf without 54 requiring the option -D. 55* The generated table is usually much smaller than it was with earlier 56 versions of gperf. 57* Added option -m/--multiple-iterations that allows to further reduce the 58 size of the generated table. 59* When the search for a good hash function is not immediately successful, 60 the table's size will grow as needed. Earlier versions of gperf bailed 61 out with an "Internal error, duplicate hash code value". 62* The options -f/--fast and -o/--occurrence-sort have no effect any more. 63* Added options -P/--pic and --null-strings that optimize the generated code 64 for use in shared libraries. -P/--pic does a perfect optimization but may 65 require some small code changes (see the documentation for details), whereas 66 --null-strings does only a half-hearted optimization but works without 67 needing any change to surrounding code. 68* Added option --ignore-case that produces a case independent lookup function. 69* Bug fixes. 70 71New in 2.7.2: 72 73* Keywords may now be enclosed in double quotes; this permits the use of 74 '#', ',', space or NUL inside keywords. 75* Bug fixes. 76 77New in 2.7.1: 78 79* Added option "-F" for gcc. 80 81New in 2.7: 82 83* gperf is now a stand-alone package, untied from libg++. 84* Autoconfiguring. 85* Removed the "-a" and "-g" options, extended the "-L" option instead. 86* Removed the "-p" option, it is the default. 87* Added long options ("--help", "--version" etc.). 88* 8-bit cleanliness is now the default; use "-7" to get the old behaviour. 89* Compiles with any C++ compiler. 90* Numerous small improvements. 91 92