libppmp is a header‑only library that provides fundamental implementations for preprocessor metaprogramming in C99/C++11. Includes macros for boolean types, branch selection, integer arithmetic, token processing, list operations, and various loop traversal operations.
On top of this foundation, the library also offers cross-compiler extension macros based on GCC extension syntax, as well as macro definitions related to C/C++ syntax and semantics that can be used for code generation.
defs_gen is a tool used to generate auxiliary macros. The files under include/ppmp/defs are all generated by this tool. You can adjust the parameters according to your own requirements to regenerate these macros.
libppmp is distributed under the LGPL-3.0 with Linking Exception. This license removes the obligation to provide Minimal Corresponding Source when statically linking, which is otherwise required by the original LGPL-3.0 license. In short, as long as you do not modify the source code of this library, you are not required to open-source your code, regardless of whether you choose static or dynamic linking.