#ifdef all the things