Subject: bug#9141: Coreutils Compiler Warnings on OSX 10.7 (Lion)

From: Herb Wartens <[email-masked]>
Date: Thu, 21 Jul 2011 02:16:32 -0700

OSX does have fdatasync defined as part of the libsystem_kernel.dylib library.  The problem is that there is no header on OSX that actually provides the function.  

There is another issue where I redefined PRIuMAX to "llu" and PRIdMAX to "lld" on OSX.  This was necessary because the build was picking up the lib/stdint.h provided with coreutils.  In there we ended up defining uintmax_t as a uint64_t.

<snip>
#elif defined GL_UINT64_T
# define uintmax_t uint64_t
#else
</snip>

However by default on OSX, PRIdMAX is defined as "jd" and PRIuMAX is defined as "ju."

I have added a hack to get coreutils to compile cleanly on OSX.  Hope this helps.

-Herb