___ ___
========================= | _\/_ \
libr - codename 'radare2' | <| _|
========================= |_|_||___|
LibR is the refactoring of the old radare1 core in a set of libraries
defining the APIs of radare2.
The library 'libr' is composed by different modules, each one implementing
working modules of radare, so then, we get a complete set of libraries for
analyzing code, disassembling bytes, dumping bytes, plugin handling, etc..
The 'R' is for refactoring, reversing, radare, ...
Each module has its own test directory (t/) which contains simple applications
using the upper directory code and linking against the direct dependencies.
Each mode can own a plugin directory (p/) that contains extensions for the
parent library module (libr/asm/p/asm_x86).
There's also the possibility to define a list of static plugins to be built
inside the parent module. This way you can avoid some flexibility to ease
portability and build single binaries with some embedded features.
The library can be used from 'pkg-config', this way you can easy build an
application or plugin that links against libr or just few elements of it.
This enables a fine-grained test level for checking all functionalities in
one shot and give us the opportunity to write radare2 as test programs.
--pancake