Mikko Lehto 1cfef090e5 lib/srdb1: fix compiler warning 9 years ago
..
binrpc 9e1ff4488a all: updated FSF address in GPL text 11 years ago
cds 9e1ff4488a all: updated FSF address in GPL text 11 years ago
doc b245ada556 docbook: Update and add missing docbook Makefiles 16 years ago
ims d6b98639bd lib/ims: When getting IMPI, only check check realm credentials if a realm is passed in 11 years ago
kcore 1edbdbd53d lib/kcore: moved wrappers around sha256 to srutils 11 years ago
kmi 9e1ff4488a all: updated FSF address in GPL text 11 years ago
presence 9e1ff4488a all: updated FSF address in GPL text 11 years ago
print b619eb121c - .cvsignore with libprint.so.* added 17 years ago
shm_regex 9e1ff4488a all: updated FSF address in GPL text 11 years ago
srdb1 1cfef090e5 lib/srdb1: fix compiler warning 9 years ago
srdb2 9e1ff4488a all: updated FSF address in GPL text 11 years ago
srutils 7242132a55 srutils: change names colliding with libcrypto 9 years ago
trie 10b842110b lib/trie: init variable to get rid of compile warnings 9 years ago
xcap 9e1ff4488a all: updated FSF address in GPL text 11 years ago
Makefile 3514d04ce9 makefiles: minor COREPATH fixes 16 years ago
Makefile.defs 1c24f8ebc2 Added a set of shared libraries with useful functions and common data structures. 20 years ago
Makefile.nonser 5684e3bd1c needed to call Makefile.nonser in subdirectories 18 years ago
README b4189892a8 lib/ims: added some info to README on IMS library 12 years ago
doxygen.cfg 1f7409a233 Yet another doxygen configuration, but it might be useful to generate 18 years ago

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

shm_regex - Wrapper functions for regcomp, regexec, regfree and regerror
using shared memory. See 'man regex' for details.

Used by modules: pa, rls, dialog, rpa

trie - Common digit trie implementation for prefix matching, used by
carrierroute and userblacklist

Used by IMS modules: icscf, usrloc_scscf, usrloc_pcscf, registrar_scscf, registrar_pcscf

ims - IMS extensions helpers. Generally just getters.

Usage:
-----

All libraries except shm_regex 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.
shm_regex library can be compiled only with ser.

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

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

make install

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

make 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.

Compilation without ser:
--------------------
Use the alternate makefile, Makefile.noser:

make -f Makefile.noser install

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.