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

  GNU dbm (gdbm) is a set of database routines that use extendible hashing
  and works similar to the standard UNIX dbm routines.  The library provides
  also an optional compatibility layer for UNIX-like dbm and ndbm calls.
  These routines are provided to a programmer needing to create and manipulate
  a hashed database.  gdbm is NOT a complete database package for an end user.



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

        This port no longer supports neither DJGPP 2.03 nor DJGPP 2.04.  This
        port has been configured using DJGPP 2.05.  It has been configured to
        be build in the "_build.205" directory.

        The port has been configured and compiled on WinXP SP3.  There is no
        guarantee that this may be possible with any other DOS-like OS.  Due
        to the use of long file names it will not be possible to configure and
        compile without LFN support.

        The DJGPP 2.05 version of the port has been compiled using gcc510 and
        bnu225br2.

        This port version will offer file locking support if the used OS
        provides the locking capability.  All other changes concern DOS
        specific issues like the reading and writing in binary mode, the
        handling of mixed slashes and backslashes in paths, the closing of
        source and destination files before renaming them and the correct
        initialization of the hash table directory for a new data base files.
        This initialization is very dependent on the st_blksize value returned
        by fstat().  This value must always be an integral multiple of 512 or
        the initialization will fail and no new data base file will be created.
        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.

        As usual, all djgpp specific files (config.bat, diffs, README files,
        etc.) are stored in the /djgpp directory.

        For further information about GNU dbm please read the info docs and NEWS file.


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 gdbm183b.zip      or
          djtarx gdbm183b.zip       or
          pkunzip -d gdbm183b.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 gdbm183s.zip      or
          djtarx gdbm183s.zip       or
          pkunzip -d gdbm183s.zip

3.2.:   To build the binaries you will need the following binary packages:
          djdev205.zip (or a later but NOT a prior version)
          bsh205bbr3.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 build gdbmexport.exe you must install gdbm183b.zip
        before you configure and build the sources.

        If you want to configure and compile this packages with NLS support
        enabled you must install licvNNNb.zip, lunsNNNb.zip and gtxNNNNb.zip.

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

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

3.3.:   The package has been configured for DJGPP 2.05.  There is a separate
        build directory under the top srcdir (aka gdbm-1.8.3).  To build
        the binaries cd into _build.205 directory.  If for some reason you want
        to reconfigure the package cd into the build directory and run the
        following commands:
          del config.cache
          make clean
          ..\djgpp\config ./..

        Please note that you *MUST* delete the config.cache file in the djgpp
        directory or you will not really reconfigure the sources because the
        configuration informations will be read from the cache file instead
        of being newly computed.

        config.bat, among other things, will start the configure script passing
        to it a couple of arguments.  You can control these argument passing the
        following command line arguments to config.bat:
          nls or no-nls, default nls.  NLS support enabled.
          cache or no-cache, default cache.  Cache in build directory.
          dep or no-dep, default no-dep.  No dependency tracking.
        All other configure specific options are not set by config.bat so their
        values are left as they are.  If no arguments are passed to config.bat
        then the default values are used.


        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\gnu\gdbm-1.8.3\djgpp\config x:/src/gnu/gdbm-1.8.3

        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\gnu\gdbm-1.8.3\djgpp\config x:/src/gnu/gdbm-1.8.3

        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 directory where you have configured
        the sources the command:
          make

        If you want the test and conversion programs, you must run the following
        command:
          make progs

3.5.:   There is no testsuite included in this package. Neitherless you can compile
        the following programms:
          testdbm.exe, testndbm.exe, testgdbm.exe and conv2gdbm
        to test DBM-, NDBM- and GDBM-databases running the command:
          make progs

        Of course, compiling this programms make only sense if you really have
        databases of this kind. You can get some info about the above programms
        running, e.g.:
          testgdbm -?

        conv2gdbm.exe is a programm that converts DBM databases into GDBM databases.
        You can get some help running the command:
          conv2gdbm

        None of the binaries are installed automatically so you must do it manually,
        if you really need the programs.

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 (gdbm.h libgdbm.a gdbm.info and gdbm.3,
        but neither the compatibility library: libgdbm_compat.a, nor the test
        and conversion programs) into your DJGPP installation tree. As usual,
        prefix is defined as "/dev/env/DJDIR".
        If you prefer to install into same other directory run the command:
          make install prefix=z:/some/other/dir
          make install-compat prefix=z:/some/other/dir




        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>
