From 1726a736fbb59b74118e1181043b0a356c8bfd5b Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 16 Sep 2011 09:12:07 -0600 Subject: [PATCH] build: work around lack of MacOS fdatasync 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. We have been implicitly relying on gnulib's largefile module being pulled in by other modules, but it's better to make that explicit. * bootstrap.conf (gnulib_modules): Add fsync. Make largefile use explicit. * configure.ac (AC_CHECK_FUNCS_ONCE): Check for fdatasync, and fake it with fsync when not present. --- bootstrap.conf | 2 ++ configure.ac | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bootstrap.conf b/bootstrap.conf index 94af05134c..d029253d3a 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -42,6 +42,7 @@ fcntl fcntl-h ffs fnmatch +fsync func getaddrinfo getcwd-lgpl @@ -57,6 +58,7 @@ ignore-value inet_pton intprops ioctl +largefile listen maintainer-makefile manywarnings diff --git a/configure.ac b/configure.ac index 0c6d524844..ad9d7541c6 100644 --- a/configure.ac +++ b/configure.ac @@ -135,9 +135,12 @@ AC_CHECK_SIZEOF([long]) dnl Availability of various common functions (non-fatal if missing), dnl and various less common threadsafe functions -AC_CHECK_FUNCS_ONCE([cfmakeraw geteuid getgid getgrnam_r getmntent_r \ +AC_CHECK_FUNCS_ONCE([cfmakeraw fdatasync geteuid getgid getgrnam_r getmntent_r \ getpwuid_r getuid initgroups kill mmap posix_fallocate posix_memalign \ regexec sched_getaffinity]) +if test $ac_cv_func_fdatasync = no; then + AC_DEFINE([fdatasync], [fsync], [Define to fsync if you lack fdatasync]) +fi dnl Availability of pthread functions (if missing, win32 threading is dnl assumed). Because of $LIB_PTHREAD, we cannot use AC_CHECK_FUNCS_ONCE.