From 339613b6bdd8d4a51435cba9e903b8b5bb082da4 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 22 Jul 2011 13:40:03 -0700 Subject: [PATCH] dd, shred: use fdatasync only if declared * m4/jm-macros.m4 (coreutils_MACROS): Use fdatasync only if declared. MacOS X 10.7 has an fdatasync that is not declared, and is rumored to be ineffective. (Bug#9141) --- m4/jm-macros.m4 | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4 index 6e97221..58b000d 100644 --- a/m4/jm-macros.m4 +++ b/m4/jm-macros.m4 @@ -93,14 +93,20 @@ AC_DEFUN([coreutils_MACROS], cu_PREREQ_STAT_PROG # for dd.c and shred.c - coreutils_saved_libs=$LIBS - LIB_FDATASYNC= + # + # Use fdatasync only if declared. On MacOS X 10.7, fdatasync exists but + # is not declared, and is ineffective. + LIB_FDATASYNC= + AC_SUBST([LIB_FDATASYNC]) + AC_CHECK_DECLS_ONCE([fdatasync]) + if test $ac_cv_have_decl_fdatasync = yes; then + coreutils_saved_libs=$LIBS AC_SEARCH_LIBS([fdatasync], [rt posix4], [test "$ac_cv_search_fdatasync" = "none required" || LIB_FDATASYNC=$ac_cv_search_fdatasync]) - AC_SUBST([LIB_FDATASYNC]) AC_CHECK_FUNCS([fdatasync]) - LIBS=$coreutils_saved_libs + LIBS=$coreutils_saved_libs + fi # Check whether libcap is usable -- for ls --color support LIB_CAP= -- 2.7.4