Make _XOPEN_SOURCE definition agree with _POSIX_C_SOURCE for POSIX 2008 env

Treat Solaris as POSIX 2001 as their check is not additive