delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/11/13/15:20:09

Message-Id: <200011132009.PAA15967@delorie.com>
From: "Juan Manuel Guerrero" <ST001906 AT HRZ1 DOT HRZ DOT TU-Darmstadt DOT De>
Organization: Darmstadt University of Technology
To: djgpp-announce AT delorie DOT com
Date: Mon, 13 Nov 2000 20:56:56 +0200
Subject: ANNOUNCE: DJGPP port of GNU Gperf 2.7.2
Reply-To: djgpp AT delorie DOT com

        This is a port of GNU Gperf 2.7.2 to MSDOS/DJGPP.


        The binaries, docs and surces can be downloaded from SimTel.NET
        and mirrors as:
          <ftp://ftp.SimTel.NET/pub/simtelnet/gnu/djgpp/v2gnu/gprf272b.zip>
          <ftp://ftp.SimTel.NET/pub/simtelnet/gnu/djgpp/v2gnu/gprf272d.zip>
          <ftp://ftp.SimTel.NET/pub/simtelnet/gnu/djgpp/v2gnu/gprf272s.zip>

        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 the C++ compiler, the C++ library and the C++ driver
        (gxx) included in the djdev203.zip package.
        This are:

          gcc2952b.zip, gpp2952b.zip, lgp2952b.zip and djdev203.zip.

        This packages can be found, together with all the other packages needed
        to build the binaries, in the v2gnu directory of any Simtel.NET mirror.
        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. Thanks to Bruno Haible
        (author/maintainer of GNU Gperf 2.7.2) for clarifying this issue.

        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.
        The only warnings that will be issued by the testsuit are the followings:

../src/gperf -p -D -k1,'$' -s 2 -o ./adadefs.gperf > preinset.c
1 input keys have identical hash values, examine output carefully...

../src/gperf -L C -F ', 0, 0, 0' -D -E -S1 -p -j1 -i 1 -g -o -t -k'*' < ./chill.gperf > chill.out
6 input keys have identical hash values, examine output carefully...

../src/gperf -D -p -t < ./c-parse.gperf > test-4.out
8 input keys have identical hash values, examine output carefully...

        This warnings, as explained above, can be ignored.

        Please read the docs to become familiar with this binary.



        Send gperf specific bug reports to <bug-gnu-utils AT gnu DOT org>
        and to <gperf-bugs AT lists DOT sourceforge DOT net>.
        Send suggestions and bug reports concerning the DJGPP port to
        comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.

Enjoy.

          Guerrero, Juan Manuel <st001906 AT hrz1 DOT hrz DOT tu-darmstadt DOT de>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019