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