  __  __ __  __ 
 |  \/  |  \/  |
 | |\/| | |\/| |
 | |  | | |  | |
 |_|  |_|_|  |_|
                 
 MM - Shared Memory Library

 ChangeLog
 =========
     _   _ 
    / | / |
    | | | |
    | |_| |
  __|_(_)_|__________________________________________________________

 Changes between 1.1.2 and 1.1.3 (21-May-2000 to 01-Jul-2000)

  *) Upgraded to GNU libtool from version 1.3.4 to 1.3.5 
     and upgraded GNU shtool from version 1.4.9 to 1.5.0
     [Ralf S. Engelschall]

  *) Added OS/390 support to config.sub.
     [Greg Ames <gregames@raleigh.ibm.com>]
  
  *) Fixed type-warnings related to `char' vs. `unsigned char' in mm_test.c
     [Ralf S. Engelschall]

  *) Let the internal mm_insert_chunk() function detect the situation
     where a chunk of memory is inserted twice (usually caused by the
     application through multiple and this way illegal calls to mm_free() with
     the same argument). This especially makes sure the internal list
     of free chunks is not corrupted.
     [Jeffrey Hsu <hsu@FreeBSD.ORG>, Ralf S. Engelschall]

  *) Fixed typos in mm.pod.
     [Ralf S. Engelschall]

 Changes between 1.1.1 and 1.1.2 (30-Apr-2000 to 21-May-2000)
  
  *) Fixed some logic in mm's configuration that removes -g from CFLAGS.
     It incorrectly collapsed " -g " to "", which leaded to invalid CFLAGS.
     [Jeff Trawick <trawickj@bellsouth.net>]

  *) Fixed shared memory decisions on Linux:
     We now avoid using MM_SHMT_MMANON (seems to be completely
     broken on 2.0), MM_SHMT_MMZERO (seems like Linux 2.0 hates this
     classical combination and return EINVAL for unknown reasons) and
     MM_SHMT_IPCSHM (requires that a IPC shm filesystem is mounted
     since 2.3). So, technically MM_SHMT_IPCSHM is preferred if the shm
     filesystem exists, else we count on MM_SHMT_MMFILE now.
     [Ralf S. Engelschall]

 Changes between 1.1.0 and 1.1.1 (30-Apr-2000 to 30-Apr-2000)

  *) Fixed compilation under Solaris where the SunOS4 and BS2000 kludges
     for <sys/shm.h> conflicted with the Sun vendor includes (which
     unfortunately use the defines).
     [Ralf S. Engelschall, Jeff Beard <jeff@cyberxape.com>]

 Changes between 1.0.12 and 1.1.0 (28-Sep-1999 to 30-Apr-2000)

  *) Fixed `make test' feedback procedure in Makefile.in now that the
     platform list is stored in the PORTING file.
     [Ralf S. Engelschall]

  *) Renamed file CHANGES to ChangeLog.
     [Ralf S. Engelschall]

  *) Fixed pointer arithmentic in memset/memcpy replacements
     by casting `void *' arguments to `char *'.
     [Sascha Schumann <sascha@schumann.cx>]
     
  *) Added BS2000 support for <sys/shm.h> stuff.
     [Martin Kraemer <martin.kraemer@mch.sni.de>]
     
  *) Added an include for <fcntl.h> to maximum shared mem segment size
     check in aclocal.m4. This especially fixes compile problems under for
     Solaris 8.
     [Alexander Demenchuk <alder@untech.com>, Greg Gears <gears@netair.com>]

  *) Fixed a warning under IRIX related to size_t comparisons
     [Ralf S. Engelschall]

  *) Added support for IBM OS/390
     [Jeff Trawick <trawick@ibm.net>]

  *) Upgraded to GNU libtool from version 1.3.3 to 1.3.4 
     and upgraded GNU shtool from version 1.4.6 to 1.4.9
     [Ralf S. Engelschall]

  *) Upgraded config.guess to GNU Pth's version and 
     use "/sbin/sysctl" under FreeBSD instead of just "sysctl"
     [Jeff Trawick <trawick@ibm.net>]

  *) Added platform support for the esoteric Unix look-alike BeOS
     [David Reid" <dreid@jetnet.co.uk>]

  *) Added `make check' as an alias for `make test'
     [Ralf S. Engelschall]

  *) Adjusted copyright messages for year 2000
     [Ralf S. Engelschall]

  *) Fixed Autoconf checks for SunOS
     [Ralf S. Engelschall]

  *) Fixed a bug in aclocal.m4's AC_CHECK_DEFINE macro.
     [Ralf S. Engelschall]

  *) Updated the manual page (typos, fixes, etc.)
     [Ralf S. Engelschall]

  *) Splitted README into README, PORTING and THANKS document.
     [Ralf S. Engelschall]

    _   ___  
   / | / _ \ 
   | || | | |
   | || |_| |
 __|_(_)___/________________________________________________________

 Changes between 1.0.11 and 1.0.12 (06-Sep-1999 to 28-Sep-1999)
  
  *) Recreated configure with latest Autoconf 2.13.1 (snapshot)
  *) Always use --mode=xxx for libtool calls to avoid problems under
     situations where $CC doesn't allow libtool to guess the mode
     correctly.

 Changes between 1.0.10 and 1.0.11 (27-Aug-1999 to 06-Sep-1999)

  *) Cleaned up various file permission in source tree
  *) Enhanced mm-config.in: new --all option and less newlines
  *) Added support --silent to libtool glue code in aclocal.m4
  *) Upgraded to GNU Pth's more recent config.{guess,sub}
  *) Upgraded to GNU shtool 1.4.6
  *) Fixed --section for mm-config in Makefile.in
  *) Added `void *' casts to MAP_FAILED (= -1) values to avoid
     warnings under some platforms.
  *) Fixed a few typos in mm.pod

 Changes between 1.0.9 and 1.0.10 (02-Jul-1999 to 27-Aug-1999)

  *) Changed "make dist" and "make snap" to use "shtool tarball"
  *) Added #define KERNEL for SunOS to get SHM_R und SHM_W values.
  *) Upgraded to GNU libtool 1.3.3
  *) Upgraded to GNU shtool 1.4.5
  *) Downgraded required Autoconf version to 2.12
  *) Added MM version number to test report
  *) Added --enable-batch
  *) Moved mm_lock_mode in mm.h to top to avoid warnings

 Changes between 1.0.8 and 1.0.9 (24-Jun-1999 to 02-Jul-1999)

  *) Fixed a nasty bug related to {MM,mm}_[un]lock():
     an additional semicolon broke the semantics.
  *) Upgraded to released shtool 1.4.0
  *) Fixed `make test'

 Changes between 1.0.7 and 1.0.8 (22-Jun-1999 to 24-Jun-1999)
  
  *) Added important MAP_FAILED fallback also to Autoconf stuff
  *) Upgraded to latest shtool 1.3.0-dev to fix two Awk problems

 Changes between 1.0.6 and 1.0.7 (06-Jun-1999 to 22-Jun-1999)

  *) Upgraded to latest shtool 1.3.0-dev
  *) Avoid -g under non-debugging situation
  *) Complain with a fatal error message when MM_SHM_MAXSEGSIZE
     couldn't be determined.
  *) Updated config.guess/config.sub
  *) Fixed a nasty permission bug for the lock files:
     they were opened write-only, but at least fcntl()
     requires them to be opened read-write.
  *) Check return value of mm_core_lock() in mm_alloc.c

 Changes between 1.0.5 and 1.0.6 (02-Jun-1999 to 06-Jun-1999)

  *) Fixed mm_malloc() function: it returned the wrong pointer when a chunk
     was reused and forgot to lock/unlock the data structures.
  *) Fixed internal best-fit algorithm for finding a free memory chunk: 
     - things got inserted out of order in the list
     - when chunk is found which matches size exactly it stops immediately
     - lowered chunk splitting threshold to MIN(2*size,128)
  *) Moved internal definitions in mm.h to private section

 Changes between 1.0.4 and 1.0.5 (21-May-1999 to 02-Jun-1999)

  *) Fixed output of mm-config.in
  *) Fixed output of configure --help
  *) Upgraded to GNU libtool 1.3.2
  *) Upgraded to shtool 1.2.9
  *) Made libtool calls visible but use --quiet 
  *) Hint user to send feedback only on errors or for new platform
  *) Removed unnecessary "elf" hint for FreeBSD from config.guess

 Changes between 1.0.3 and 1.0.4 (15-May-1999 to 21-May-1999)

  *) Fixed maximum memory size determination and internal handling
  *) Documented the mm_lib_xxx() functions.

 Changes between 1.0.2 and 1.0.3 (26-Apr-1999 to 15-May-1999)

  *) Added {MM,mm,mm_core}_permission() function
  *) Fixed version information and mod_ssl URL in manual page
  *) Upgraded config.{guess,sub} from libtool 1.3 distribution
  *) Upgraded to GNU libtool 1.3
  *) Upgraded to shtool 1.2.7
  *) Fixed public includes for xx_t types
  *) Fixed mm_vers.c and shtool type inside CVS

 Changes between 1.0.1 and 1.0.2 (18-Apr-1999 to 26-Apr-1999)

  *) Upgraded to GNU libtool 1.2f
  *) Upgraded to shtool 1.1.0

 Changes between 1.0.0 and 1.0.1 (18-Mar-1999 to 18-Apr-1999)

  *) Fixed "dist" Makefile target to not distribute CVS stuff
  *) Upgraded lshtool to the latest version
  *) Const'ification of the API

 Changes between 1.0b6 and 1.0.0 (18-Mar-1999 to 28-Mar-1999)

  *) Finally cleaned up and polished the mm.pod manual page.
  *) Fixed mm-config program

 Changes between 1.0b5 and 1.0b6 (18-Mar-1999 to 18-Mar-1999)

  *) Added {MM,mm}_maxsize() to manual page
  *) Changed MM_create() signature to match mm_create()

 Changes between 1.0b4 and 1.0b5 (15-Mar-1999 to 18-Mar-1999)

  *) Make sure the maximum allocateable size takes
     the overhead of the memory pool into account.
  *) Fixed lshtool and this way hex version string
  *) Fixed Makefile for mm_test target dependecies
  *) Added {MM,mm}_maxsize() function to let one
     determine in advance the maximum allocateable pool

 Changes between 1.0b3 and 1.0b4 (15-Mar-1999 to 15-Mar-1999)

  *) Added mm-config.pod manpage
  *) Split mm-config --ldflags into --ldflags and --libs
  *) Removed TODO and fulltest files

 Changes between 1.0b2 and 1.0b3 (13-Mar-1999 to 15-Mar-1999)

  *) Added Autoconf check for determining max shared mem segment size
  *) Changed -1 to MAP_FAILED when available
  *) Replaced 8KB default shared memory segment size with max size
  *) Added mm_core_maxsegsize() function
  *) Use a remembered offset for mmap() on temporary files
  *) Imported source tree into CVS
  *) Added read-only locking support
  *) Fixed MMFILE and MMZERO variants

 Changes between 1.0b1 and 1.0b2 (12-Mar-1999 to 13-Mar-1999)

  *) Updated the mm.pod manual page.
  *) Split README into README and LICENSE files
  *) Fixed becho problems
  *) Added a test suite summary
  *) Added INSTALL file
  *) Reduced mm_test's memory size from 1MB to 512KB
  *) Fixed unsigned long and %X related warnings

 Changes between 1.0b0 and 1.0b1 (11-Mar-1999 to 12-Mar-1999)

  *) Enhanced mm_test
  *) Added {MM,mm}_available() function
  *) Fixed MMZERO
  *) Fixed IPC Semaphore initialization
  *) Added --with-{sem,shm}=TYPE options
  *) Fixed "make test" and mm_memory_display() function
  *) Added mm_lib.c source with mm_lib_xx() functions

 Changes between 0.9.0 and 1.0b0 (10-Mar-1999 to 11-Mar-1999)

  *) Switched to GNU Autoconf and GNU Libtool

 Changes between GENESIS and 0.9.0 (Jan-1999 to 10-Mar-1999)

  *) Created initial version on FreeBSD
  *) Ported to Linux and Solaris

