a huge batch of #ifdef's