Message-Id: <200307232232.h6NMW1g29327@delorie.com> From: "Juan Manuel Guerrero" Organization: Darmstadt University of Technology To: djgpp-announce AT delorie DOT com Date: Wed, 23 Jul 2003 22:56:20 +0100 Subject: ANNOUNCE: DJGPP port of GNU Gperf 3.0.1 X-MailScanner: Found to be clean This is a port of GNU Gperf 3.0.1 to MSDOS/DJGPP. The binaries, docs and surces can be downloaded from delorie.com as: GNU gperf is a program that generates perfect hash functions for sets of key words. A perfect hash function is: A hash function and a data structure that allows recognition of a key word in a set of words using exactly 1 probe into the data structure. The gperf.info and gperf.html files explain how the program works, the form of the input, what options are available, and hints on choosing the best options for particular key words set. See the file NEWS for a list of major changes in the current release. DJGPP specific changes. ======================= There are no DJGPP specific changes to the sources at all. Only a couple of testsuit files need a minor changes to get the testsuit working under Win9X/MSDOS. The changes are performed by tscript.sed. I have only added the usual DJGPP subdirectory, that contains the batch file and sed scripts needed to configure, compile and test the package. Some remarks about building the binaries from sources. ====================================================== Please not that source code is almost completely written in C++, so you will need to install the C++ compiler if you want to re- compile the sources. See the readme file in the DJGPP subdir for a complete list of the required packages. If you run the testsuit with the command 'make check' you will get output lines similar to this one: ../src/gperf -p -D -k1,'$' -s 2 -o ./adadefs.gperf > preinset.c 1 input keys have identical hash values, examine output carefully... This is neither a bug in the DJGPP port nor in the original gperf sources. The above warning is triggered by the '-D' option that allows to build non-perfect hash tables, i.e with collisions. There is a second issue that should be observed: If the testsuit breaks because the lu2out.exe program dies with a SISEGV, then you have used an unzip program that "silently" transforms UNIX-style EOL into MSDOS-style EOL (this is typical for WinZIP). This implies that the file lang-ucs2.in has been corrupted. This is a **binary** file that should not be modified. In this case unzip the sources again, this time using djtar.exe, in some temporary directory an replace the broken lang-ucs2.in with the new one and run the command 'make check' again. No test of the testsuit should fail. Please read the docs to become familiar with this binary. Send gperf specific bug reports to and to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel