I didn't look at the patch, so I probably shouldn't say anything. But as a general principle I think it's better to define a macro than to increase the already ridiculous number of ifdefs in the code.