Building Protolib
=================

Protolib can be built using the Waf build tool, included in the distribution.
To see a full list of options, run:

    ./waf -h


Configuring
-----------

To perform the configure checks, run:

    ./waf configure

Some options for the configure step:

    --prefix=<DIR> - Directory to install files to (Default - /usr/local)

    --debug - Builds a debug build (with debugging symbols), otherwise an
            optimized library is built.
    --static - Builds a statically linked library, otherwise a shared library
            is built.

    --build-python - Builds the Python ProtoPipe extension
    --build-java - Builds the Java ProtoPipe extension
        You must set the JAVA_HOME environment variable to the location of your
        JDK directory
    --build-ns3 - Builds the NS3 extensions
        You must set the NS3_HOME environment variable to the location of your
        NS3 directory

    --disable-X - Disables the feature X (See ./waf -h for descriptions)

Building
--------

To build the library, simply run:

    ./waf

To build examples along with the library, run:

    ./waf --ex-XXX

Where XXX is the name of the example you want to build (see ./waf -h).
Additionally, you can add the --ex-all flag to build all the example programs.

Installing
----------

To install, run:

    ./waf install

This will install the compiled library and headers to wherever your prefix was
specified.  (See configure flags)


Uninstalling
------------

Waf tracks the files it installs, so run:

    ./waf uninstall

to remove all files from a previous ./waf install

Cleaning
--------

    ./waf clean

will delete all compiled files and configuration settings.

    ./waf distclean

will do the same as clean, and additionally delete the waf cache files.
