From: Eric Blake Date: Fri, 16 Sep 2011 20:12:01 +0000 (-0600) Subject: fdatasync: port to Solaris X-Git-Tag: v0.1~1900 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=fa7cfa720110dc45ed470592c6bbb8c69f3b84ee;p=gnulib.git fdatasync: port to Solaris Cater to Solaris requiring extra libraries for fdatasync. * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC. * modules/fdatasync (Link): Document it. * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it. Signed-off-by: Eric Blake --- diff --git a/ChangeLog b/ChangeLog index 4a2faf744..1da8266ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,11 @@ 2011-09-16 Eric Blake - fdatasync: port to MacOS X 10.7. + fdatasync: port to Solaris + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC. + * modules/fdatasync (Link): Document it. + * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it. + + fdatasync: port to MacOS X 10.7 * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not declared. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default. diff --git a/m4/fdatasync.m4 b/m4/fdatasync.m4 index cb1194666..ce3d0c6ba 100644 --- a/m4/fdatasync.m4 +++ b/m4/fdatasync.m4 @@ -1,4 +1,4 @@ -# fdatasync.m4 serial 2 +# 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,13 +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 - fi - dnl MacOS X 10.7 has fdatasync but does not declare it. + + 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 ]) diff --git a/modules/fdatasync b/modules/fdatasync index 19c1aeeea..62f710d9e 100644 --- a/modules/fdatasync +++ b/modules/fdatasync @@ -21,6 +21,9 @@ Makefile.am: Include: +Link: +$(LIB_FDATASYNC) + License: LGPLv2+ diff --git a/modules/fdatasync-tests b/modules/fdatasync-tests index 9afd058de..cacfb8a11 100644 --- a/modules/fdatasync-tests +++ b/modules/fdatasync-tests @@ -11,3 +11,4 @@ configure.ac: Makefile.am: TESTS += test-fdatasync check_PROGRAMS += test-fdatasync +test_fdatasync_LDADD = $(LDADD) $(LIB_FDATASYNC)