6 * cppmagic - Abuse of the C preprocessor
8 * This contains a bunch of fancy macro techniques such as
9 * preprocessor-time evaluated conditionals and (quasi) recursion and
12 * It's based on these articles:
13 * - http://jhnet.co.uk/articles/cpp_magic
14 * - https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms
15 * and code from the Boost C++ library.
19 int main(int argc, char *argv[])
21 /* Expect exactly one argument */
25 if (strcmp(argv[1], "depends") == 0) {