X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Message-Id: <201209231643.q8NGh7Do002641@delorie.com> From: Juan Manuel Guerrero To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: release 2 of the DJGPP port of GNU dbm 1.10 uploaded. Date: Sun, 23 Sep 2012 18:37:09 +0200 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline This is release 2 of the port of GNU dbm 1.10 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. DJGPP specific changes. ======================= Only minimal changes have been done compared with the previous version of this port. The only reason is that it makes it easier to me to use this library to port other GNU software. I have removed the previous release of this port anyway. The port version compiled with djdev204 will offer file locking support if the used OS provides the locking capability. The port version compiled with djdev203 will never provide it no matter if the used OS offers the necessary file locking capability or not. To get that port version working, the calls to fcntl() have been replaced by macros that always return success. Thus the djdev203 version will never try to lock data base files during operation. 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. The dbm and ndbm specific functions have been moved into a separate library. This means that there are two libraries: - libgdbm.a containing all gdbm specific functions and - libgdbm_compat.a containing all dbm specific functions If you need to compile an application using the old unix dbm functions you will have to put the compat lib before the gdbm lib like this: gcc application.c -lgdbm_compat -lgdbm Now you will have access to the dbm compatibility functions. Please note, that these compatibility functions are mapped to the equivalent gdbm functions so you must link both libraries in the order shown in the example above. The port does neither support mmap() for I/O operations nor the close-on-exec flag in gdbm_open (GDBM_CLOEXEC). Apart from the standard config.bat options like nls, cache and no-dep, the following option flags can be selected to configure and build the sources: compat or no-compat, if not specified, "compat" is the default. Build and install libgdbm_compat, a compatibility layer which provides UNIX-like dbm and ndbm interfaces. export or no-export, if not specified, "export" is the default. Build and install gdbmexport with the specified gdbm 1.8 library. If this option is specified, the configure script will get --with-gdbm183-library=-lgdbm passed as option and GDBM183_LIBDIR and GDBM183_INCLUDEDIR will be set to /dev/env/DJDIR/lib and /dev/env/DJDIR/include repectively. This means that you must have gdbm183b installed before you can build gdbmexport.exe. gdbmexport.exe will be linked with gdbm183b. The source package is now distributed configured for both DJGPP 2.03 and DJGPP 2.04. In the top srcdir there is be a "_build.203" directory and a "_build.204" directory. It may be possible to configure and compile the sources on plain DOS (no LFN support) but I have not tried it. Please read the docs to become familiar with the products. The port has been compiled using stock djdev203 (patchlevel 2) and consists of the usual three packages that can be downloaded from ftp.delorie.com and mirrors as (timestamp 2012-09-08): GNU dbm 1.10 binaries, headers, libraries, info and man format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gdbm110br2.zip GNU dbm 1.10 dvi, html, pdf and ps format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gdbm110dr2.zip GNU dbm 1.10 source: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gdbm110sr2.zip The binaries have been produced a second time using the stock version of djdev204 beta library. This package is available at ftp.delorie.com and mirrors as (timestamp 2012-09-08): GNU dbm 1.10 binaries, headers, libraries, info and man format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gdbm110br2.zip Send gdbm specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel