X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=m4%2Futimens.m4;fp=m4%2Futimens.m4;h=6a8b6ab78c0663337dffe55769b9ead38f86ce0d;hb=dc84183747ce1703eb99685b5dbde1f65a143c06;hp=2baa2561035f528ad7eafd190abb4cd230ab0299;hpb=a2016c1de6e4884f6c8ed5cc498f3bf821c25ca4;p=debian%2Fgzip diff --git a/m4/utimens.m4 b/m4/utimens.m4 index 2baa256..6a8b6ab 100644 --- a/m4/utimens.m4 +++ b/m4/utimens.m4 @@ -1,18 +1,17 @@ -dnl Copyright (C) 2003-2010 Free Software Foundation, Inc. +dnl Copyright (C) 2003-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -dnl serial 4 +dnl serial 7 AC_DEFUN([gl_UTIMENS], [ - AC_LIBOBJ([utimens]) - dnl Prerequisites of lib/utimens.c. AC_REQUIRE([gl_FUNC_UTIMES]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([futimes futimesat futimens utimensat lutimes]) if test $ac_cv_func_futimens = no && test $ac_cv_func_futimesat = yes; then @@ -25,17 +24,27 @@ AC_DEFUN([gl_UTIMENS], AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include +#include ]], [[ int fd = open ("conftest.file", O_RDWR); if (fd < 0) return 1; if (futimesat (fd, NULL, NULL)) return 2; ]])], [gl_cv_func_futimesat_works=yes], [gl_cv_func_futimesat_works=no], - [gl_cv_func_futimesat_works="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_futimesat_works="guessing no" ;; + esac + ]) rm -f conftest.file]) - if test "$gl_cv_func_futimesat_works" != yes; then - AC_DEFINE([FUTIMESAT_NULL_BUG], [1], - [Define to 1 if futimesat mishandles a NULL file name.]) - fi + case "$gl_cv_func_futimesat_works" in + *yes) ;; + *) + AC_DEFINE([FUTIMESAT_NULL_BUG], [1], + [Define to 1 if futimesat mishandles a NULL file name.]) + ;; + esac fi ])