/NAPA-BASELIBS

Collection of open-source libraries for P2P streaming

Primary LanguageC

This is NAPA-BASELIBS, a collection of open-source libraries for P2P streaming, developed in the NAPA-WINE project.

Quick-start Documentation for Developers (aka README)

PREREQUISITES
-------------

Developments versions of the following libraries are needed:
 - libevent2 (http://monkey.org/~provos/libevent/ - note that we
   use version 2.0, generally referred to as libevent2)
 - libconfuse (http://www.nongnu.org/confuse/)

These libraries should either be compiled from source and installed in
some folder, or should be installed in the system. Packages (deb, RPM)
should also be available for any reasonable Linux distribution.

DEVELOPMENT
-----------

The code structure follows the usual autoconf/automake hierarchy:

 - main autoconf file is configure.ac (should be modified with a strong
   reason only e.g. adding a new directory to the structure).

 - Makefile templates are Makefile.am and */Makefile.am. See existing
   examples if you need to create a new one.
   Good examples are rep/Makefile.am (contains both an intermediate
   library, librep.a, and an executable repoclient (compiled from
   repoclient.c)
   Makefile.am and configure.ac needs to be modified only if a new
   directory is added to the code base.

For adding files and dependencies, edit Makefile.am(s), there is one in
each source directory.

After changing any Makefile.am or configure.am, re-run:
./autogen.sh
then
./configure
and
make

For deleting all auto-generated files use:
./autoclean.sh

COMPILATION & DOCUMENT GENERATION
---------------------------------

./configure
make

If libevent or libconfuse are installed in a non-standard location (i.e.
not in /usr or /usr/local) then use
./configure --with-lib[confuse|event2]=_dir_location

To generate HTML doc by doxygen into directory doxygen/html, use:
make doxygen