This is a Tcl-Wrapper for the famous gdbm (the GNU-Version of dbm) and
a small database-utility "Qgdbm":

TclGdbm and Qgdbm Version 0.3 (January 27, 2000)
                                    Stefan Vogel (stefan_vogel@usa.net)

The   Tclgdbm-package  makes the GDBM-Functions available inside of Tcl. 
With calling the Tcl-function "gdbm_open" a handle to the opened
gdbm-file is returned. This handle can be used as a Tcl-command for
further access to the opened file. 
(e.g.: 
% set gdbm [gdbm_open -writer myfile.gdbm]
% $gdbm count
)

Furthermore you find   Qgdbm   in this distribution, which works with
the tclgdbm-library. Qgdbm, which is the shortcut for Query-Gdbm
provides a set of routines for simple SQL-like queries. These SQL-like
queries are adapted to the usual Tcl-style. By redefining SQL in terms
of Tcl-List not only the syntax is more easy but it is easier to
include in Tcl-applications.
For documentation see the files in ./doc.


---------------------------------------------------------------------------
BUILD Tclgdbm:

Simply compile the file "tclgdbm.c" and build a shared library. You
can use the included Makefile as a starting-point. It is so simply
that I didn't wanted to provide a configure-script, ...

To build the shared library "tclgdbm.so", you should have installed
the latest gdbm-version (should be version 1.8.0) and one of the
latest tcl-versions (Tcl-Version >= 8.1) on your computer.

Look for the official gdbm-site on
  http://www.gnu.org/software/gdbm/gdbm.html

FTP-Mirrors to download gdbm.1.8.0 are listed on: 
  http://www.gnu.org/prep/ftp.html 
  (e.g: ftp.gnu.org/gnu/gdbm/gdbm-1_8_0_tar.gz)
You can find gdbm in directory /gnu/gdbm

To build tclgdbm.so on Unix simply adapt the Makefile to your needs
(Include-Directory for Tcl and Gdbm-Headers and the static library of
gdbm).
It should be simple enough, because there is not much done in there.
(You can even compile it manually)

For  Windows-Platforms  the tclgdbm.DLL is included in this package.
You can use it immediately. The Windows-DLL is included because there
is no official gdbm-port to Windows until now. The tclgdbm.dll
contains my inofficial windows-port of gdbm (with some minor
bugfixes).  Until Jason Downs (the official maintainer of gdbm) does
not release an official version of "Windows"-gdbm I simply supply this
inofficial port. When the port is released I will hopefully be able to
supply a Makefile to build tclgdbm.dll on Windows.  Has someone ported
gdbm to Mac?


---------------------------------------------------------------------------
TEST tclgdbm and qgdbm:

To test the distribution you can call (on unix) either: make test
Or do the tests manually. Start the tcl-shell in the tests-directory
of this distribution and source the all-script.
> cd tests
> tclsh
% source all

The only output should be:
testing: tclgdbm.test
testing: qgdbm.test

If some tests fail please tell me.


---------------------------------------------------------------------------
INSTALL tclgdbm and qgdbm:

On Unix you can simply use the Makefile and call: make install_pkg
Or you do it manually.
Simply start a tcl-shell in this directory with the install-script:
% tclsh install.tcl

This will create a subdirectory "gdbm0.3" in the tcl-distribution and
copy the library tclgdbm and the tcl-scripts: qgdbm.tcl and
pkgIndex.tcl to this directory.
On Unix you should call this as a user who has permissions to create a
directory in the tcl install-directory.

---------------------------------------------------------------------------
The following files are included in this distribution (0.3):

tclgdbm.c          - Tcl-Wrapper for Gdbm
tclgdbm.dll        - Prebuild Tclgdbm-Library for Windows
Makefile           - simple Makefile for Unix-Systems (should be adapted to
                     personal needs)
qgdbm.tcl          - Tcl-Package based on tclgdbm for simple database-queries
README             - This file
COPYING			   - Copying information
install.tcl        - Tcl-Script for installation, simply source it into 
                     your tcl-shell (the tcl-shell should be opened in this
                     directory)
doc/tclgdbm.html   - Documentation for Tclgdbm
doc/qgdbm.html     - Documentation for Qgdbm-Package
tests/defs         - definition of test-functions
tests/all          - runs all test-scripts
tests/tclgdbm.test - Testcases for tclgdbm
tests/qgdbm.test   - Testcases for qgdbm

---------------------------------------------------------------------------
The author of Tclgdbm/Qgdbm may be reached via:
   stefan_vogel@usa_net