The MetaKit Library 1.7             Copyright (C) 1996-1997 Meta Four Software
==============================================================================


DESCRIPTION

    The MetaKit C++ classes implement highly-structured persistent containers.
    This library can be used as an efficient database for many apps/utilities.
    Some key features are: uncorruptable data files, an efficient file format,
    "on-the-fly" restructuring, and portability - all using a very simple API.
    
    For an introduction to MetaKit, see the HTML info in the "docs" directory.
    For a summary of changes in this release, see the "whatsnew.txt" file.

    This software can be freely downloaded for evaluation purposes. The full
    C++ sources of MetaKit are available, there are no royalties involved.
    Please read the disclaimer, which is in the file "include\m4kit.h".  

    The latest news can always be found at:     http://www.meta4.com/metakit/


GETTING THE RIGHT PACKAGE

    The core distribution includes documentation, header files, sample code,
    and executables with DLLs which will run on Windows 3.1x, 95, and NT.  If
    you use MSVC 1.52 or 5.0, then you now have everything to try MetaKit in
    your own applications (release build only, requires DLL versions of MFC).
    The choice of MSVC/Windows is not an endorsement, it was selected because
    that package is small and probably runs on "some computer near you". 

    As of this writing, MetaKit ports exist for Unix, Macintosh, VMS, MS-DOS,
    and many Windows-hosted C++ development environments (Borland, Microsoft,
    Powersoft, Symantec, Watcom).  New ports are announced on the website.

    For other compilers and/or platforms, you can download the library builds
    from the web.  The MetaKit product range consists of five categories:

        1.  CORE distribution: docs, headers, sample code, Windows exe/dll's
        2.  ADD-ON packages: platform/IDE-specific versions with libraries
        3.  DEVELOPER releases: debug builds and static versions of the libs
        4.  SOURCE code: complete source code of the library, with makefiles
        5.  UNIVERSAL source: additional source code for non-MFC environments

    There are exactly 5 files in the CORE distribution:
    
        readme.txt      You are currently reading it...
        whatsnew.txt    New features and changes in this release
        order.txt       Order form, and details how to order on-line
        setup.exe       Installs the MetaKit core package after confirmation
        file_id.diz     Brief description, for automatic extraction

    Add-on packages for DOS/Win:

        m4kit17b.zip    Borland C++ 4.52 (Windows 16-bit)
        m4kit17j.zip    DJ Delorie 2.0.1 (GNU C++ for MS-DOS)

    Add-on packages for other platforms use other archive formats, such as:

        m4kit17i.tgz    BSDI 2.1 Gnu C++ 2.7.2 (tar, gzipped)
        m4kit17m.hqx    Mac Metrowerks Codewarrior 11 - 68K (stuffed, binhex)
        m4kit17x.tgz    Linux ELF Gnu C++ 2.7.2 (tar, gzipped)

    Some of the add-ons include the core distribution to ease installation.
    Distributions and ports can evolve quite rapidly, so be sure to check the
    Metakit homepage on the web to make sure you have the latest release.  As
    of this writing (June 1997), there were over a dozen developer releases.


INSTALLING METAKIT

    To install the distribution files on Windows, just extract the "setup.exe"
    program and run it.  After confirmation, all the files in the core package
    will be copied to a directory (the default is C:\METAKIT).  Please do not
    install this release over an earlier version of Metakit.

    The documentation for MetaKit is in HTML format, in the "docs" directory.
    To use it, unzip the "M4KITDOC.ZIP" file, but please note that filenames
    are longer than MS-DOS or Windows 3.1 can handle, and will be truncated.

    To install an ADD-ON package (after running "setup.exe"), you must extract
    its files to a new subdirectory.  Then, move the DLL to the "bin" subdir,
    and the import LIB to the "lib" subdirectory.  All add-ons use unique file
    names, so you can install as many of them as you like.

    To uninstall MetaKit, simply delete the entire directory tree.  MetaKit
    does not install hidden files, create "ini" files, or alter the registry.

    The standard or universal source code release must be installed ON TOP OF
    the core distribution, they do not interfere with other installed add-ons.

    Installation on Unix and Macintosh is also very simple: just extract the
    archive contents using standard utilities (tar / gzip, resp. StuffIt).


ROADMAP

    The MetaKit core distribution creates the following sub-directories:

        bin\        Executables of the examples and DLL versions of MetaKit
        docs\       Documentation in HTML format (see install notes above)
        examples\   Source code examples (with MSVC 1.52 makefiles)
        include\    Header files
        lib\        Libraries needed to build applications

    Add-on packages for Windows contain only the extra files needed for their
    respective environment (usually just a dll and an import library for it).
    For Unix and Macintosh, add-ons also contain the header files and some
    sample code, to avoid having to convert between different text formats.

    The developer releases all contain more library builds.  The DLL's can be
    copied to the "bin" subdir, the static/import libraries can go to "lib".

    The source code releases of Metakit add the following sub-directories:
        
        include\    More headers, for optional inlined definitions (*.inl)
        ports\      Notes and makefiles for several environments (universal)
        regress\    Extensive regression-test sources with sample output
        src\        Source code of MetaKit (C++ files and private headers)

    And also:
        
        msvc16\     Project files to build all MSVC / Win 16 configurations
        msvc32\     Project files to build all MSVC / Win 32 configurations
        ..etc..\    More project files and make/IDE-related files (universal)


CONFIGURATIONS

    Developer releases are available to all registered users, and contain a
    wide range of libraries: debug vs. release builds, static vs. dynamic, and
    a choice of underlying framework (MFC, STL/string/stdio, or "universal").

    As of version 1.7, Metakit supports using any of the above configurations,
    (as far as supported by the environment of course).  It's even possible to
    use the "standard" or "universal" configurations of MetaKit in combination
    with MFC, simply by adding a "#define q4_STD 1" or "#define q4_UNIV 1".


PORTABILITY

    This release has been tested with a very wide range of compilers and has
    been compiled on platforms ranging from small-model Intel (MS-DOS) to the
    64-bit Dec Alpha (Unix as well as OpenVMS).  All builds are based on the
    same source code, and the datafiles are portable between all platforms.

    On those platforms that support it, the library can be built as either a
    static library or a dynamic DLL (shared library).

    Also, on those platforms that support it (currently Unix and Win 95/NT),
    memory mapped files are used to greatly reduce memory usage during access.

    The library code can use STL and/or MFC classes if available, but will
    work even if the compiler doesn't support templates, exceptions, or RTTI.
    MetaKit does not impose restrictions if *you* wish to use any of these.

    All C++ identifiers with global scope include the digit four. Namespace
    support will be added when this addition to C++ becomes more widespread.

    Support for other compilers, frameworks, hardware, and operating systems
    will be added when needed, new ports usually require very little effort.


REGISTRATION

    The MetaKit Library is not free, you must register for US$ 25 if you use
    this code in your own software after an evaluation period of 30 days. When
    used commercially, you must register and purchase one of the two available
    source code licenses to obtain the right to incorporate this library code.
    MetaKit licenses are personal - all developers must get separate licenses.

    Payment of the US$ 25 registration fee entitles you to:

        * The right to use this software for personal and non-profit use
        * Download a wide range of "developer release" library versions
        * Timely notification by email of any new revisions and updates
        * Free registration of every revision for the coming 12 months
        * Quick response times for all technical support questions
        * A warm thank you - you're supporting me to continue this effort!

    For US$ 90, you will receive the Source code version (MFC):

        * All of the above benefits are of course included in this package
        * The right to include and distribute object code for commercial use
        * Fully commented source code in C++ of the MetaKit library (MFC only)
        * Makefiles and test software for several Windows/MFC environments
        * Full access to all beta and final library builds in the support area
        * A twelve month subscription to all new source code releases

    The Universal version is available in different formats for $165:

        * All of the above, with sources and makefiles for multiple platforms
        * Datafiles are fully portable, streaming also works across platforms
        * This version can be used on: MS-DOS, Windows, Macintosh, Unix, VMS
        * New ports will be announced and made available free of charge
        * Technical support when porting the MetaKit sources to new platforms
        * A twelve month subscription to all new universal source releases

    If you purchase a basic version, you can upgrade it at any later moment:

        * Upgrade from Registered to Source code (Windows/MFC) for $75
        * Upgrade from Source code to the Universal version for $85

    Metakit can be ordered securely on-line, or by phone, fax, mail, using a
    check, a credit card, or a bank transfer.  See "ORDER.TXT" for details.


DISTRIBUTION AND SUPPORT

    The MetaKit Library software package is copyright Meta Four Software, NL.
    You may not distribute this information, nor any portions thereof, as part
    of a general database- or object-persistence software library or utility.

    You may distribute this shareware release for any other purpose, provided
    that all files are included without change, including this description.

    MetaKit is actively supported by its designer, with quick replies to email
    and fax, usually within (much) less than two business days.  There is also
    a web-based support forum with an email gateway, see the website.


ABOUT META FOUR SOFTWARE

    Meta Four Software was founded in October 1989, and is fully owned by
    Jean-Claude Wippler.  For a brief company overview, see the website.


CONTACT INFORMATION

    Jean-Claude Wippler          mailto:jcw@meta4.com

    Meta Four Software             http://www.meta4.com
    Meekrap oord 6
    3991 VE, Houten                 fax:+31 30 635 2337
    The Netherlands

==============================================================================
