X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=m4%2Ffdatasync.m4;h=ce3d0c6ba5865547d79cccd59aae3ea3574983c8;hb=48a6564774f35e0c0b2ca55c73ccb26067396439;hp=8eceeb547bcc2f64d3178780795187160d04e483;hpb=64da7b6c00400c0a5e5b02df98faec97c0954a3c;p=gnulib.git diff --git a/m4/fdatasync.m4 b/m4/fdatasync.m4 index 8eceeb547..ce3d0c6ba 100644 --- a/m4/fdatasync.m4 +++ b/m4/fdatasync.m4 @@ -1,4 +1,4 @@ -# fdatasync.m4 serial 1 +# fdatasync.m4 serial 3 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,8 +7,26 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FDATASYNC], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([fdatasync]) - if test $ac_cv_func_fdatasync = no; then - HAVE_FDATASYNC=0 + + dnl Using AC_CHECK_FUNCS_ONCE would break our subsequent AC_SEARCH_LIBS + AC_CHECK_DECLS_ONCE([fdatasync]) + LIB_FDATASYNC= + AC_SUBST([LIB_FDATASYNC]) + + if test $ac_cv_have_decl_fdatasync = no; then + HAVE_DECL_FDATASYNC=0 + dnl MacOS X 10.7 has fdatasync but does not declare it. + AC_CHECK_FUNCS([fdatasync]) + if test $ac_cv_func_fdatasync = no; then + HAVE_FDATASYNC=0 + fi + else + dnl Solaris <= 2.6 has fdatasync() in libposix4. + dnl Solaris 7..10 has it in librt. + gl_saved_libs=$LIBS + AC_SEARCH_LIBS([fdatasync], [rt posix4], + [test "$ac_cv_search_fdatasync" = "none required" || + LIB_FDATASYNC=$ac_cv_search_fdatasync]) + LIBS=$gl_saved_libs fi ])