This is the README for the s11n source code tree

libs11n (s11n) is a C++ library for serializing all sorts of objects.

Home page:

        http://s11n.net
        maintainer: stephan@s11n.net

Good starting points:

Installation:

        See the INSTALL file

Source code:

        lib/node: core s11n 0.7.x interfaces and reference
        implementations.

        lib/node/lex: input lexers for new interface

        lib/cl: libclass_loader core

        lib/{standalone,toolbox}: generic helper objects/functions

        client/sample: a test/sample app for the new s11n model.

        lib/lite/s11nlite.h: the s11nlite interface (the new
        "prefered" client-side interface.

(Note: all headers are symlinked under include/s11n at build-time,
so you can conveniently find them all there once you've built
the tree once.)

Documentation galore:

        doc/*.lyx (original format) See the INSTALL file for info
                on generating PDF/PS/HTML copies.

        doc/api: doxygen tools (again, see INSTALL)

ACHTUNG: the 0.7.x model IS NOT YET DOCUMENTED OUTSIDE THE SOURCE
FILES! The API docs are your only hope for the new code at this
point, with the exception of the s11nlite manual (doc/s11nlite.lyx).


========================================================================
OLD CODE: (0.6.x-compatible):
 Use ./configure --enable-old-s11n to enable building this stuff.

        lib/s11n: old-style core.
        lib/s11n/parsers: old-style lexers

        client/s11nconvert (will eventually be ported to support both
        old and new interfaces)

        client/s11nlibconfig (not yet ported to new model)

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

========================================================================
WARNING ABOUT EDITING SOURCE FILES IN THIS TREE:

This tree has the odd convention that ALL of it's source files go
through file filters at build-time, so we can set the namespace (e.g.)
based on configure-time preferences. The notable side-effect of this
is that all dirs listed above have a 'src' subdir below them: THOSE
ARE THE ACTUAL SOURCES. Any (or almost any) source files which you
see directly in the above directories are GENERATED and will be
OVERWRITTEN on the next build if you edit them.

The moral is: if you EDIT any sources, edit the copy under FOO/src,
not the one under FOO/.

Also note that if you edit the code, please do not hard-code the
s11n namespace in the code: use the token designated for code
in that directory (see lib/*/Makefiles for samples galore).

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