fix recursive ifdefs