a component system that will provide extensibility and re-usability both inside and between applications, while being portable across platforms (and languages) and having the lowest possible overhead (both in machine resources and programming effort).
an easy to use framework which enables you to log and simulate interfaces. An interface can be anything from a simple C function up to a complex C++ package. {pretend} is project independent and can be used immediately without modifications.
a compiler cache. It acts as a caching pre-processor to C/C++ compilers. Caching previous compilations and detecting when the same compilation is being done again. (needs GCC or similar)