Archive-Name: dlst
Submitted-By: (Greg A. Woods) woods@robohack.UUCP
Environment: C language

	libdlst - dynamic lists

OVERVIEW

This is a simple set of C language tools for building lists.  It has
been designed in an object-oriented fashion, and can be easily
extended to offer support for all sorts of lists.  Currently a
doubly-linked list type, and an array-list type, are offered.

Sorry, but the documentation is a bit sparse yet....

If you wish add support for new types of lists, please examine dlst.h.


TO COMPILE

Note that this code uses <sccsid.h>, <sysdefs.h>, and <libc.h>.  If
your compiler does not search the current directory for <>'ed files,
then you'll have to install these files in INCDIR or /usr/include, or
wherever the "standard places" are, before you build the library.

If this package did not include the above required headers, you'll
find them with the package in which dlst was shipped (probably as
externhdr.shar).  Go back and install them first.

You should save a copy of the original Makefile, then edit it to your
requirements.  When you're ready, just type 'make'!  If all goes well,
you should be able to 'make install', and be ready to use the library.

NOTES & HINTS:

	- AT&T 3b1 (or UNIX PC, or 7300) are truly just SYSVR2.

	- Some SysVr4's may need both SYSVR4 & _POSIX_SOURCE, though
	  Solaris 2.0 seems to need only SYSVR4 in pure ANSI mode.

	- Beta SysVr4's may need USE_STDLIB too (non-ANSI C compiler,
	  eg. NEC EWS/UP 4800's running UX 4.0 at least up to release
	  5.1, which also needs DUMB_VOID).

	- AIX v3.x users should use _POSIX_SOURCE, and must compile
	  *outside* of the BSD compatibility environment, as that
	  defines _BSD, and makes a real mess of the system include
	  files.

	- Normal SunOS 4.1.x with /usr/bin/cc, /usr/5bin/cc, or gcc
	  seems to be happy with just -D_POSIX_SOURCE.

	- SunOS 4.1.2 with acc doesn't like _POSIX_SOURCE either, and
	  also seems to have trouble with __STDC__.

	- SunOS 4.1.x also works with /usr/5bin/cc and either -DBSD or
	  -DSYSVR3, and -DUSE_MALLOC, or with /usr/bin/cc and just
	  -DBSD.

	- SCO UNIX needs SYSVR3 & _POSIX_SOURCE, even though I don't
	  see how it can claim 1003.1 conformance....

	- Modern version of Pyramid OSx (i.e. the old Dual Universe
	  OS) works best if compiled in the "att" universe with
	  -D_POSIX_SOURCE -ZPOSIX -Xt (POSIX & ANSI-C with
	  compatibility).

	- Older versions of Pyramid OSx may work in the "ucb" universe
	  if compiled with -DBSD, though there may be problems with
	  the typedefs in <sysdefs.h>.

	- Most versions of the UNIX PCC compiler will need DUMB_VOID.

	- DEBUG, OPTIM, & SDB should be set for defaults, and then
	  modified on the command line for debugging, etc.


NOTE:	This library is a re-write of an idea presented in "Object
	Oriented Programming in C", David Brumbaugh; The_C_Users_
	Journal; July 1990, Vol. 8, No. 7.  The linked-list sort
	routine in llist.c is used (i.e. translated to C from Pascal)
	with apologies (though not many!) to R. Sedgewick, from his
	book "Algorithms", 1983, p. 149.

This library is in the public domain.  Use as you see fit.

#ident	"@(#)dlst:README	1.4	92/10/12 16:34:32 (woods)"
--
						Greg A. Woods

woods@robohack.UUCP woods@Elegant.COM  VE3TCP	UniForum Canada & ECI
+1 416 443-1734 [home] +1 416 362-XRSA [work]	Toronto, Ontario; CANADA
