Apache Avro Build Instructions

REQUIREMENTS

The following packages must be installed before Avro can be built:

 - Java: JDK 1.6, Maven 2 or better, protobuf-compile
 - PHP: php5, phpunit, php5-gmp
 - Python: 2.5 or greater, python-setuptools for dist target
 - C: gcc, cmake, asciidoc, source-highlight
 - C++: cmake 2.8.4 or greater, g++, flex, bison, libboost-dev
 - C#: mono-devel mono-gmcs nunit
 - JavaScript: nodejs, npm
 - Ruby: ruby 1.86 or greater, ruby-dev, gem, rake, echoe, yajl-ruby
 - Apache Ant 1.7
 - Apache Forrest 0.8 (for documentation)
 - md5sum, sha1sum, used by top-level dist target

BUILDING

Once the requirements are installed, build.sh can be used as follows:

 './build.sh test' runs tests for all languages
 './build.sh dist' creates all release distribution files in dist/
 './build.sh clean' removes all generated artifacts
