Your example already achieves what you want, since #if USING(x)
will produce an error message if USING
isn't defined. All you need in your header file is something like
#define IN_USE 1
#define NOT_IN_USE 0
#define USING(feature) feature
If you want to be sure that you also get an error just for doing something like
#if FEATURE
or
#if USING(UNDEFINED_MISPELED_FEETURE)
then you could do, say,
#define IN_USE == 1
#define NOT_IN_USE == 0
#define USING(feature) 1 feature
but you won't be able to prevent such misuse as
#ifdef FEATURE