Currently all compat.h does is define the appropriate POSIX macro unless
you are on windows, as well as conditionally enabling
__attribute__(format...).
~lattis/muon#26: PATH_MAX is not always defined
> It seems that you unconditionally use PATH_MAX in muon, but POSIX does
> not require that macro to be defined, it says that it should only be
> defined if the OS has an hard limit on path length.
>
> From the Posix specification, in <limits.h>, under the section "Pathname
> Variable Values": "A definition of one of the symbolic constants in the
> following list shall be omitted from the <limits.h> header on specific
> implementations where the corresponding value is equal to or greater
> than the stated minimum, but where the value can vary depending on the
> file to which it is applied."
>
> For example, GNU Hurd does not define the macro.
>
> In their guidelines (under the section PATH_MAX, MAX_PATH, MAXPATHLEN,
> _POSIX_PATH_MAX) they give some advice about how to handle this
> situation, but I believe that setting PATH_MAX to the same size of MacOS
> or Linux (with something like #ifndef PATH_MAX ...) should be enough.