> +#elif __OpenBSD__ > +#elif __OpenBSD__ Also, for more robustness you should use
#elif defined(__OpenBSD__) You shouldn't test its evaluated expanded value, but only if it is defined or not. (then I'd replace matching #ifdef with #if defined(), but I guess that's more a matter of taste)
