From: Alexandre Raymond Date: Sun, 29 May 2011 22:22:48 +0000 (-0400) Subject: configure: Fix check for fdatasync() X-Git-Tag: v0.15.0-rc0~162^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d1722a27f552a22561104210e0afad4577878e53;p=thirdparty%2Fqemu.git configure: Fix check for fdatasync() Under Darwin, a symbol exists for the fdatasync() function, so that our link test succeeds. However _POSIX_SYNCHRONIZED_IO is set to '-1'. According to POSIX:2008, a value of -1 means the feature is not supported. A value of 0 means supported at compilation time, and a value greater 0 means supported at both compilation and run time. Enable fdatasync() only if _POSIX_SYNCHRONIZED_IO is '>0'. Signed-off-by: Alexandre Raymond Signed-off-by: Andreas Färber --- diff --git a/configure b/configure index c931ae860aa..6101f4e4914 100755 --- a/configure +++ b/configure @@ -2461,7 +2461,13 @@ fi fdatasync=no cat > $TMPC << EOF #include -int main(void) { return fdatasync(0); } +int main(void) { +#if defined(_POSIX_SYNCHRONIZED_IO) && _POSIX_SYNCHRONIZED_IO > 0 +return fdatasync(0); +#else +#abort Not supported +#endif +} EOF if compile_prog "" "" ; then fdatasync=yes