JCPP is a complete, compliant, standalone, pure Java implementation of the C preprocessor. It is intended to be of use to people writing C-style compilers in Java using tools like sablecc, antlr, JLex, CUP, and so forth. It has been used to successfully preprocess much of the source code of the GNU C library.
distcc is a parallel build system that distributes compilation of C/C++/ObjC code across machines on a network. It can be set up in just a few minutes and makes builds up to ten times faster. It does not require machines to share a filesystem or have the same libraries or header files, and installation does not need superuser privileges.
Sunifdef is a command line tool for eliminating superfluous preprocessor clutter from C and C++ source files. It is a more powerful successor to the FreeBSD 'unifdef' tool. Sunifdef is most useful to developers of constantly evolving products with large code bases, where preprocessor conditionals are used to configure the feature sets, APIs or implementations of different releases. In these environments, the code base steadily accumulates #ifdef-pollution as transient configuration options become obselete. Sunifdef can largely automate the recurrent task of purging redundant #if logic from the code.
Minimac is a minimalist, general purpose text macro processor. Its simplicity should make it particularly well suited as a front end preprocessor for little language compilers. It is meant to be simpler to use than m4. It uses an explicit argument stack, and user functions are defined by concatenation (similar to the Forth language). Macro expansion is delayed to the last possible moment. The software is currently in alpha release.
The lptools suite provides a complete, programming-language independent, literate programming environment. The suite targets XML documentation, but the underlying system has no bias that would disadvantage other documentation languages. It also includes a programmable build tool (a replacement for 'make') that can handle very complex and dynamic dependency graphs.
prtpacker (Portable Resource Tree Packer, pronounced PIRT-Packer) is a tool for creating C or C++ source code from external program resources such as images, text, or data. These resources can be arranged in a tree structure much like a typical file system. After compiling and linking the resulting source code you can access the resource tree from within your software through a simple API. Be aware that all resources stay in memory and cannot be easily deallocated.
The DObject Library C++ is a Java-like library that acts as a bridge between the C++ and the Java worlds. It offers a wide range of the Java facilities without losing the power of C++. It offers naming convention that is similar to the Java language, smart pointers emulating Java references, and classes emulating Java arrays.