>From d591eab8486390c258151b0e3ec94285c75a86d8 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Fri, 25 Jan 2019 00:15:50 +0100 Subject: [PATCH 5/7] fdatasync: Fix compilation error on Android 4.3. * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris, test whether fdatasync() exists. --- ChangeLog | 6 ++++++ m4/fdatasync.m4 | 28 ++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index baa8590..4955af1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2019-01-24 Bruno Haible + fdatasync: Fix compilation error on Android 4.3. + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris, + test whether fdatasync() exists. + +2019-01-24 Bruno Haible + unlinkat: Fix compilation error on Android 4.3. * lib/unistd.in.h: Include when module 'unlinkat' is in use also on Android. diff --git a/m4/fdatasync.m4 b/m4/fdatasync.m4 index c2ea85e..fe221cc 100644 --- a/m4/fdatasync.m4 +++ b/m4/fdatasync.m4 @@ -1,4 +1,4 @@ -# fdatasync.m4 serial 4 +# fdatasync.m4 serial 5 dnl Copyright (C) 2008-2019 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,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FDATASYNC], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl Using AC_CHECK_FUNCS_ONCE would break our subsequent AC_SEARCH_LIBS AC_CHECK_DECLS_ONCE([fdatasync]) @@ -21,12 +22,23 @@ AC_DEFUN([gl_FUNC_FDATASYNC], 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 + case "$host_os" in + solaris*) + 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 + ;; + *) + dnl Android 4.3 does not have fdatasync but declares it. + AC_CHECK_FUNCS([fdatasync]) + if test $ac_cv_func_fdatasync = no; then + HAVE_FDATASYNC=0 + fi + ;; + esac fi ]) -- 2.7.4