Not sure what was intended with that patch, but you put and 
#ifndef/#error block inside an 
#ifdef block, so 
#error inside 
#ifndef will never be seen.
But hey, no problem, the big 
#ifdef block is not necessary, I'll just copy the 
#ifndef block to the header, that'll do just fine and will work the way you intended.
No need to post to SF. 
