- Use a more conformant C++ preprocessor macro identifier for Unix systems.

The 'unix' identifier isn't defined when '-std' is passed to the compiler (tested with gcc and clang), so use '__unix__' which is well enough documented.