Maxim Sobolev 2577e2f300 Use explicit comparison with NULL, it's more clear and shuts off gcc, 17 lat temu
..
binrpc 8bed2c0e63 Fix warnings on LP64 plarforms out there (all 64-bit amd64/emt64 unixes 17 lat temu
cds 2577e2f300 Use explicit comparison with NULL, it's more clear and shuts off gcc, 17 lat temu
doc b7d8ebac09 added more documentation to libraries and some cosmetic changes needed by doc 20 lat temu
presence 4992f1053e - .cvsignore with libser_presence.so.* added 17 lat temu
print b619eb121c - .cvsignore with libprint.so.* added 17 lat temu
xcap d8424e4cb0 Make buildable with the latest version of the curl (CURLOPT_MUTE has 18 lat temu
Makefile ab0ae9dd14 18 lat temu
Makefile.defs 1c24f8ebc2 Added a set of shared libraries with useful functions and common data structures. 20 lat temu
Makefile.nonser 5684e3bd1c needed to call Makefile.nonser in subdirectories 18 lat temu
README 18e13af86c added support for binrpc library 19 lat temu
doxygen.cfg 1f7409a233 Yet another doxygen configuration, but it might be useful to generate 18 lat temu

README

Standalone libraries:
---------------------

binrpc - A library that provides common interface for different communication
methods (UNIX sockets, TCP, UDP) using binary RPC as a transport form
of data. The interface is documented directly in binrpc_api.h file and
can by generated into HTML form by using Doxygen. There is no
difference between compilation "with" or "without" SER (see compilation
section below).

Libraries common to modules:
---------------------------

cds - Common Data Structures (basic string operations, dynamic string,
vector, message queue, ...)

presence - Library holding common structures and functions abaut presence
(API for internal subscriptions, common presence structures,
common presence data formats)
requires internal libraries: cds

xcap - Common XCAP operations and structures (XCAP authorization documents
and XCAP resource lists processing)
requires external libraries: libxml2, libcurl3 (nonSER version)
requires internal libraries: cds

Used by modules: pa, rls, dialog, rpa

Usage:
-----

All libraries can be compiled "with ser" or "without ser". Compilation
without ser may be useful for debugging purposes or for example for
searching for memory leaks with some tool like valgrind.

Compilation with ser:
--------------------

Compilation and installation of these libraries is NOT DONE by running
main ser makefile now - it MUST be done MANUALLY. For this purpose
is there Makefile.ser. To compile and install libraries simply run

make -f Makefile.ser install

in lib directory. You can select destination directory like in the case
of ser, for example:

make -f Makefile.ser install prefix="/my/ser/directory"

AFTER COMPILATION of libraries you can COMPILE MODULES using this
libraries like PA, RLS or dialog.


Running with ser (Linux):
----------------

The path to installed libraries must be known to linker on startup. This
can be done by setting variable LD_LIBRARY_PATH before running ser. For
example, if libraries were installed to default directory (/usr/local),
you should set LD_LIBRARY_PATH=/usr/local/lib/ser. In the case of
nonstandard installation, you can use something like
LD_LIBRARY_PATH=/my/ser/directory/lib/ser.

Documentation
-------------
Documentation for all libraries is (or will be) in
docbook-XML format and it is stored in doc directory (for example cds/doc
contains documentation for Common Data Structures library).

Documentation can be translated into HTML using a XSLT processor
which is able to work with "include" directives.
For example
xmlto html cds/doc/cds.xml
will create HTML documentation for CDS library in current directory.