blob: b4378c06a7c9d17bd3325c114874cb676c765c5d [file] [log] [blame]
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.
There is a configure file generated by autoconf. Use:
./configure
to generate a Makefile.
If it doesn't work, either you are missing some packages (boost, flex or bison),
or you need to help configure locate them.
Type ./configure --help if you need help.
If the Makefile is configured correctly, then you can make and run tests:
make
make check
Before running tests, you may need to set LD_LIBRARY_PATH to the boost
libraries if they are staged instead of installed.
The install target is not yet set up (coming soon!)