Avro C++ README.txt The C++ port is thus far incomplete. Currently, it contains: - Serializer/Parser- objects for writing/reading raw binary. - xxxSchema- objects for composing schemas. - ValidSchema- a schema object that has been converted to a parse tree (with some sanity checks). - ValidSchema.toJson() writes the schema as a json object. - ValidatingSerializer/ValidatingParser- check that reads/writes match the expected schema type (more expensive than the raw serializer/parser but they detect errors, and allow dynamic discovery of parsed data/attributes). - Compiler (compileJsonSchema())- converts a Json string schema to a ValidSchema. - Code Generation (experimental) - given a schema it generates C++ objects of the same data types, and the code to serialize and parse it. What's missing: Defaults are not yet supported. And the file and rpc containers are not yet implemented. Documentation, sparse. INSTRUCTIONS To compile requires boost headers, and the boost regex library. Additionally, to generate the avro spec compiler requires flex and bison. To build one requires cmake 2.6 or later. To generate a Makefile under Unix or Cygwin use: cmake -G "Unix Makefiles" If it doesn't work, either you are missing some packages (boost, flex or bison), or you need to help configure locate them. If the Makefile is configured correctly, then you can make and run tests: make ./build/unittest ./build/buffertest ./build/testgentest ./build/CodecTests ./build/StreamTests To install make package and then untar the generated .tar.gz file. Note: The LICENSE and NOTICE files in the lang/c++ source directory are used to build the binary distribution. The LICENSE and NOTICE information for the Avro C++ source distribution is in the root directory.