I\'ve used a code base before that had a macro system for enabling and disabling sections of code. It looked something like the following:
#define IN_USE
Couldn't you just use another group of #ifdefs?
#ifdef
#if defined(WIN32) #define FEATURE_A #define FEATURE_B #elif defined (OSX) #define FEATURE_C #endif // ... #if defined(FEATURE_A) do_a(); #endif
etc.