Skip to content

wilcox-tech/libmowgli-wt

Repository files navigation

This is a patched version of libmowgli for use with the eScape library
from Wilcox Technologies.

We attempted to have our patches merged upstream, but they declined to
accept them.  Therefore, we are maintaining our own fork of libmowgli
that supports SunOS, Mac OS 9, Win32, and thread safety.

This is not libmowgli-2, which has fundamental architecture changes and
is not compatible with SunOS or Mac OS 9.  libmowgli-2 does integrate
a limited subset of the patches applied here for Win32 and thread
safety but is not as portable as the original version of libmowgli and
therefore is unsuitable for use with eScape without major changes to
both the build system of eScape and the architecture of libmowgli-2.


Below is the original README file from libmowgli.


libmowgli - A useful collection of routines for programming
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

libmowgli is a free but copyrighted library, check COPYING for details.


Contents
--------

1. What is libmowgli?
2. Installation
3. Bug Reports


What is libmowgli?
------------------

libmowgli is a class library containing performance and usability oriented
extensions to C.

It contains:
    - mowgli_alloc: A safe wrapper around malloc/free.
    - mowgli_argstack: Safe serialization of valists.
    - mowgli_assert: Various assertion routines that can be used.
    - mowgli_bitvector: Bitmasks with an unlimited level of precision.
    - mowgli_dictionary: A keyword-backed definition hashtable class.
    - mowgli_error_backtrace: Provide feedback to users on what caused the
                              error they are recieving.
    - mowgli_exception: Assertions with user feedback.
    - mowgli_formatter: A simple token formatter which is sometimes useful.
    - mowgli_global_storage: A simple global storage library.
    - mowgli_hash: A portable implementation of the FNV-1 hash.
    - mowgli_heap: An optimistic heap-based memory allocator
    - mowgli_hook: A simple hooks API you can use for your application, which
                   allows for hooks to provide both application data and user data.
    - mowgli_ioevent: Portable I/O completion ports for many OSes.
    - mowgli_list: A high performance linked lists implementation with O(1) scalability
                   for most common operations.
    - mowgli_logger: An internal class for handling logging of exceptions.
    - mowgli_memorypool: A class which allows for memory pooling.
    - mowgli_module: A wrapper around dlopen(3) and dlsym(3).
    - mowgli_object: A simple class which provides reference counted pointers and
                     polymorphism of structs.
    - mowgli_object_class: Classing and subclassing for objects.
    - mowgli_object_metadata: Metadata for objects.
    - mowgli_object_messaging: Messaging and signalling for objects.
    - mowgli_queue: A simple class which implements double-ended queues.
    - mowgli_random: A high performance psuedo-random number generator.
    - mowgli_signal: A wrapper for sigaction(2).
    - mowgli_spinlock: Portable spinlocks.

More classes will be added with later releases. Please contact
nenolod -at- atheme.org if you have suggestions on what should be 
implemented.

More information is available at http://www.atheme.org/projects/mowgli.shtml.


Installation
------------

Installation is fairly typical:

  $ ./configure
  $ make
  $ sudo make install

(If sudo isn't on your system, su to root. On GNU systems you can even 
do "su -c 'make install'", which is basically the same thing as using 
sudo.)


Bug Reports
-----------

Bugs can be reported on our tracker at http://bugs-meta.atheme.org against the
Mowgli product.

About

libmowgli with WT patches applied

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published