## Introduction Liberasurecode is an erasure code library which can support multiple erasure code 'backends'. The repository includes a Jerasure for Reed-Solomon implementation. [TODO: flesh this out a bit more] ## Code organization ``` ├── README ├── NEWS ├── COPYING ├── AUTHORS ├── INSTALL ├── ChangeLog | ├── autogen.sh ├── configure.ac ├── Makefile.am | ├── include │   ├── erasurecode │   │   ├── erasurecode.h --> liberasurecode frontend API header │   │   └── erasurecode_backend.h --> liberasurecode backend API header │   └── xor_codes | ├── src │   ├── erasurecode.c --> liberasurecode API implementation | | (frontend + backend) │   ├── backends │   │   └── xor │   │   └─── flat_xor_hd.c --> 'flat_xor_hd' erasure code backend | | implementation | | │   ├── builtin │   │   └── xor_codes --> XOR HD code backend, built-in to | | | liberasurecode │   │   ├── xor_code.c │   │   └── xor_hd_code.c | | │   └── utils │   └── chksum --> fragment checksum utils for erasure │   ├── alg_sig.c coded fragments │   └── crc32.c └─── test --> Test routines     ├── builtin     │   └── xor_codes     ├── liberasurecode_test.c     └── utils ``` ## Dependencies ## Build To build the liberasurecode repository, perform the following from the top-level directory: `$ ./autogen.sh` `$ ./configure` `$ make` `$ make test` `$ sudo make install`