On 09/16/2011 09:21 AM, Eric Blake wrote:
Mingw lacks fsync, but gnulib provides that. Meanwhile, gnulib does
not (yet) provide fdatasync, so this is a quick hack to fake that
function on MacOS X; we can revert this configure change once gnulib
gives us a real module.
* bootstrap.conf (gnulib_modules): Add fsync.
* configure.ac (AC_CHECK_FUNCS_ONCE): Check for fdatasync, and
fake it with fsync when not present.
---
I've tested that this is a no-op on Linux, but would appreciate someone
with a MacOS setup to quickly test that it fixes the build there.
I've finally got to the point where I could do some more testing, and
this does indeed fix the build error for MacOS, so I'm pushing under the
build-breaker rule so that it will be in rc3.
I've also worked on several gnulib changes to add a fdatasync module:
https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00205.html
In particular, that includes a patch to use the available (but
undeclared) fdatasync added in MacOS X 10.7 (the libvirt patch above is
intentionally dumber, and blindly uses fsync even on MacOS 10.7):
https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00217.html
However, I won't do a .gnulib submodule update to pick up any of those
changes until after 0.9.5 is released, especially since the gnulib side
might still be under heavy churn this weekend as it gets tested on
various platforms.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org