I am porting some code to 8051 and the existing code uses #define to determine whether or not some functionality is available i.e. ....
#define HAVE_STRING_H . . . . #ifndef HAVE_STRING_H #include <string.H #else #include <homegrown/string.h> #endif
#define HAVE_STRING_H
#define HAVE_STRING_H 1
#ifdef HAVE_STRING_H
#if HAVE_STRING_H