Installation instructions
=========================

The Avro library is written in ANSI C.  It uses CMake [1] as its build
manager.

[1] http://www.cmake.org/


Prerequisites
-------------

Avro uses CMake [1] as its build manager.  You must have this installed,
along with a C compiler (such as gcc) to build the library.

Avro doesn't depend on any other libraries, but you need asciidoc [2]
and source-highlight [3] installed to build Avro's documentation.  The
build scripts will automatically detect whether these tools are
installed, and will skip the documentation if they're not.

[1] http://www.cmake.org/
[2] http://www.methods.co.nz/asciidoc
[3] http://www.gnu.org/software/src-highlite/


Building from source
--------------------

The Avro C library uses CMake as its build manager.  In most cases, you
should be able to build the source code by running the following:

    $ mkdir build
    $ cd build
    $ cmake .. \
        -DCMAKE_INSTALL_PREFIX=$PREFIX \
        -DCMAKE_BUILD_TYPE=RelWithDebInfo
    $ make
    $ make test
    $ make install

You might have to run the last command using sudo, if you need
administrative privileges to write to the $PREFIX directory.

The "RelWithDebInfo" build type will build an optimized copy of the
library, including debugging symbols.  Use the "Release" build type if
you don't want debugging symbols.  Use the "Debug" build type if you
want a non-optimized library, with debugging symbols.

On Mac OS X, you can build a universal binary by setting the
CMAKE_OSX_ARCHITECTURES option when running cmake.  Just add something
like the following:

        -DCMAKE_OSX_ARCHITECTURES=i386;x86_64

to the cmake command given above.  The set of architectures that you can
choose from differs depending on which version of OS X you're running;
common possibilities include "i386", "x86_64", "ppc", and "ppc64".

On Unix, you can request thread-safe versions of the Avro library's
global functions by defining the THREADSAFE cmake variable.  Just add
the following to your cmake invokation:

        -DTHREADSAFE=true
