This is a port of GNU dbm 1.10 to MSDOS/DJGPP.

1.:     DJGPP specific changes.
        =======================

        The DJGPP specific changes for version 2.03 account for the fact that
        DJGPP's implementation of fcntl() does not support F_GETLK, F_SETLK
        nor F_SETLKW.  To make this package work, no file locking and unlocking
        attempt is done at all.  For this purpose all calls to fcntl() have
        been replaced by macro calls that will always return a success status
        if the user locks a db file for reading or writing.  MSDOS does not
        offer a serious file locking anyway, so this way of solving the
        difficulty is acceptable.  The user will be able to read and write data
        base files but it must be recalled that the opened file is not locked
        at all, neither on plain DOS nor on WIN9X.  DJGPP 2.04 implementation
        of fcntl() supports F_GETLK, F_SETLK and F_SETLKW, so if the used OS
        offers a serious implementation of file locking, then db libary and
        tools will take advantage of this functionality if they have been
        compiled with that version of DJGPP.
        All other changes to the sources are based on bug fixes reported by
        users at <bug-gdbm@gnu.org> and changes needed to compile the packages
        on plain DOS like reading and writting files in binary mode, closing
        files before renaming them, checking for backslaches and colon and
        slashes as well as directory separators in paths, etc.
        All changes I have done against the original GNU distribution are
        documented in the diffs file stored in the /djgpp directory of the
        source package.


2.:     Installing the binary package.
        ==============================

2.1.:   It is highly recommended to deinstall the old port (gdbm173b)
        *BEFORE* installing this new one. This package will install the
        headers in the include dir and the library in the lib dir. This
        is different from old port that installed everything into the
        contrib dir.
        Copy the binary distribution into the top DJGPP installation
        directory and unzip the binary distribution running *ONE* of
        the following commands:
          unzip32 gdbm110b.zip      or
          djtarx gdbm110b.zip       or
          pkunzip -d gdbm110b.zip

2.2.:   To create an entry for the gdbm info docs in your dir file,
        run from the top DJGPP installation directory the command:
          install-info --info-dir=./info ./info/gdbm.info
        For futher information about GNU gdbm please read the info docs
        and man pages.


3.:     Building the binaries from sources.
        ===================================

3.1.:   Create a temporary directory and copy the source package into the
        directory.  If you download the source distribution from one of the
        DJGPP sites, just unzip it preserving the directory structure
        running *ONE* of the following commands:
          unzip32 gdbm110s.zip      or
          djtarx gdbm110s.zip       or
          pkunzip -d gdbm110s.zip

3.2.:   To build the binaries you will need the following binary packages:
          djdev203.zip (or a later but NOT a prior version)
          bsh204b.zip  (or a later but NOT a prior version)
          gccNNNb.zip, gppNNN.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip,
          shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip, sedNNNb.zip,
          mktmpNNb.zip, and gwkNNNb.zip.

        If you want to run the check you will need also:
          difNNNb.zip

        NNN represents the latest version number of the binary packages.
        All these packages can be found in the /v2gnu directory of any
        ftp.delorie.com mirror.
        You will need bsh204b.zip or later and *NOT* a prior version or
        the build will fail.  The same applies to djdev203.zip.

3.3.:   If for some reason you want to reconfigure the package cd into the top
        srcdir (gdbm-1.10) and run the following commands:
          del djgpp\config.cache
          make clean
          djgpp\config

        Please note that you *MUST* delete the config.cache file in the djgpp
        subdir or you will not really reconfigure the sources because the
        configuration informations will be read from the cache file instead
        of being newly computed.
        To build the programs in a directory other than where the sources are,
        you must add the parameter that specifies the source directory,
        e.g:
          x:\src\contrib\gdbm-1.10\djgpp\config x:/src/contrib/gdbm-1.10

        Lets assume you want to build the binaries in a directory placed on a
        different drive (z:\build in this case) from where the sources are,
        then you will run the following commands:
          z:
          md \build
          cd \build
          x:\src\contrib\gdbm-1.10\djgpp\config x:/src/contrib/gdbm-1.10

        The order of the options and the srcdir option does not matter.  You
        *MUST* use forward slashes to specify the source directory.

        The batch file will set same environment variables, make MSDOS specific
        modifications to the Makefile.in's and supply all other needed options
        to the configure script.

3.4.:   To compile the package run from the top srcdir the command:
          make

3.5.:   Now you can run the tests if you like.  From the top srcdir run the
        command:
          make check

        No test should fail.

3.6.:   To install the binaries, header, library, catalogs, and man pages
        run the following command from the top srcdir:
          make install

        This will install the products into your DJGPP installation tree given
        by the default prefix "/dev/env/DJDIR".  If you prefer to install them
        into some other directory you will have to set prefix to the appropiate
        value:
          make install prefix=z:/some/other/place



        Send GNU dbm specific bug reports to <bug-gdbm@gnu.org>.
        Send suggestions and bug reports concerning the DJGPP port to
        comp.os.msdos.djgpp or <djgpp@delorie.com>.


Enjoy.

        Guerrero, Juan Manuel <juan.guerrero@gmx.de>
