Paolo Bonzini wrote: > I'll make it say "guessing yes" and still put "yes" in the variable.
Thanks. Here is what the adaptation in gnulib could look like. But frankly, I'll prefer to remove the module altogether: The bug it cures occurred only on Sequents; the last time I heard about this kind of machine was in 1996. So, any objections to removing this module? Bruno 2009-04-09 Bruno Haible <br...@clisp.org> * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable autoconf. * doc/posix-functions/utime.texi: Give more precisions. --- doc/posix-functions/utime.texi.orig 2009-04-10 00:54:49.000000000 +0200 +++ doc/posix-functions/utime.texi 2009-04-10 00:53:46.000000000 +0200 @@ -9,8 +9,8 @@ Portability problems fixed by Gnulib: @itemize @item -On some old platforms, @code{utime (file, NULL)} fails to set the file's -timestamp to the current time. +On some old platforms (Sequent), @code{utime (file, NULL)} fails to set the +file's timestamp to the current time. @end itemize Portability problems not fixed by Gnulib: --- m4/utime.m4.orig 2009-04-10 00:54:49.000000000 +0200 +++ m4/utime.m4 2009-04-10 00:52:25.000000000 +0200 @@ -1,4 +1,4 @@ -# serial 8 +# serial 9 dnl From Jim Meyering dnl Replace the utime function on systems that need it. @@ -28,3 +28,34 @@ AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF]) gl_FUNC_UTIMES_NULL ]) + +# Use the definition of AC_FUNC_UTIME_NULL from autoconf 2.64 or newer. +# Remove this macro when we can assume autoconf >= 2.64. +m4_version_prereq([2.64], [], [ +AC_DEFUN([AC_FUNC_UTIME_NULL], +[AC_CHECK_HEADERS_ONCE([utime.h]) +AC_CACHE_CHECK([whether utime accepts a null argument], [ac_cv_func_utime_null], +[rm -f conftest.data; >conftest.data +# Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. +AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT + #ifdef HAVE_UTIME_H + # include <utime.h> + #endif], +[[struct stat s, t; + return ! (stat ("conftest.data", &s) == 0 + && utime ("conftest.data", 0) == 0 + && stat ("conftest.data", &t) == 0 + && t.st_mtime >= s.st_mtime + && t.st_mtime - s.st_mtime < 120);]])], + ac_cv_func_utime_null=yes, + ac_cv_func_utime_null=no, + ac_cv_func_utime_null='guessing yes')]) +if test "x$ac_cv_func_utime_null" != xno; then + ac_cv_func_utime_null=yes + AC_DEFINE([HAVE_UTIME_NULL], [1], + [Define to 1 if `utime(file, NULL)' sets file's timestamp to the + present.]) +fi +rm -f conftest.data +]) +])