From 5d5b74716b696b0f22c37a88ccc5c114b13f0398 Mon Sep 17 00:00:00 2001 From: Herbert Valerio Riedel Date: Wed, 16 Dec 2015 17:28:40 +0100 Subject: Improve detection of `fdatasync(2)` This attempts a simpler and hopefully more robust test for `fdatasync(2)` See 94d8824bae10c9d91f56c1aee9c45a90136a1770 / #42 for the previous attempt. This hopefully addresses #52 in a better way than #53 --- configure.ac | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index c363e10..24ea3a5 100644 --- a/configure.ac +++ b/configure.ac @@ -71,23 +71,12 @@ AC_CHECK_FUNCS([mkstemps mkdtemp]) # Functions for file synchronization and allocation control AC_CHECK_FUNCS([fsync]) -# A more comprehensive check that fdatasync exits -# Necessary for platforms that have fdatasync in headers but have no -# implementation -dnl Originally provided by user copiousfreetime for the beanstalkd project -dnl {{{ make sure that fdatasync exits -AC_CACHE_CHECK([for fdatasync],[ac_cv_func_fdatasync],[ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -]],[[ -fdatasync(4); -]])], -[ac_cv_func_fdatasync=yes], -[ac_cv_func_fdatasync=no]) -]) -AS_IF([test "x${ac_cv_func_fdatasync}" = "xyes"], - [AC_DEFINE([HAVE_FDATASYNC],[1],[If the system defines fdatasync])]) -dnl }}} +# On OSX linking against 'fdatasync' succeeds, but that doesn't pick +# the expected the POSIX 'fdatasync' function. So make sure that we +# also have a function declaration in scope, in addition to being able +# to link against 'fdatasync'. +AC_CHECK_DECLS([fdatasync],[AC_CHECK_FUNCS([fdatasync])]) + AC_CHECK_FUNCS([posix_fadvise posix_fallocate]) -- cgit v1.2.3