.
authorJim Meyering <jim@meyering.net>
Sat, 25 Jul 1998 13:16:38 +0000 (13:16 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 25 Jul 1998 13:16:38 +0000 (13:16 +0000)
m4/utime.m4 [new file with mode: 0644]
m4/utimes.m4 [new file with mode: 0644]

diff --git a/m4/utime.m4 b/m4/utime.m4
new file mode 100644 (file)
index 0000000..9fb587c
--- /dev/null
@@ -0,0 +1,18 @@
+#serial 1
+
+dnl From Jim Meyering
+dnl Replace the utime function on systems that need it.
+
+dnl FIXME
+
+AC_DEFUN(jm_FUNC_UTIME,
+[
+  AC_CHECK_HEADERS(utime.h)
+  AC_REQUIRE([jm_STRUCT_UTIMBUF])
+  AC_REQUIRE([AC_FUNC_UTIME_NULL])
+
+  if test $ac_cv_func_utime_null = no; then
+    jm_FUNC_UTIMES_NULL
+    AC_REPLACE_FUNCS(utime)
+  fi
+])
diff --git a/m4/utimes.m4 b/m4/utimes.m4
new file mode 100644 (file)
index 0000000..ddb3aea
--- /dev/null
@@ -0,0 +1,34 @@
+#serial 1
+
+dnl Shamelessly cloned from acspecific.m4's AC_FUNC_UTIME_NULL.
+
+AC_DEFUN(jm_FUNC_UTIMES_NULL,
+[AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null,
+[rm -f conftestdata; > conftestdata
+AC_TRY_RUN([#include <sys/types.h>
+#include <sys/stat.h>
+main() {
+struct stat s, t;
+exit(!(stat ("conftestdata", &s) == 0 && utimes("conftestdata", (long *)0) == 0
+&& stat("conftestdata", &t) == 0 && t.st_mtime >= s.st_mtime
+&& t.st_mtime - s.st_mtime < 120));
+}], ac_cv_func_utimes_null=yes, ac_cv_func_utimes_null=no,
+  ac_cv_func_utimes_null=no)
+rm -f core core.* *.core])
+
+    if test $ac_cv_func_utimes_null = yes; then
+      if test x = y; then
+       # This code is deliberately never run via ./configure.
+       # FIXME: this is a hack to make autoheader put the corresponding
+       # HAVE_* undef for this symbol in config.h.in.  This saves me the
+       # trouble of having to maintain the #undef in acconfig.h manually.
+       AC_CHECK_FUNCS(UTIMES_NULL)
+      fi
+      # Defining it this way (rather than via AC_DEFINE) short-circuits the
+      # autoheader check -- autoheader doesn't know it's already been taken
+      # care of by the hack above.
+      ac_kludge=HAVE_UTIMES_NULL
+      AC_DEFINE_UNQUOTED($ac_kludge)
+    fi
+  ]
+)