summaryrefslogtreecommitdiff
path: root/m4/utimes.m4
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1998-07-25 13:16:38 +0000
committerJim Meyering <jim@meyering.net>1998-07-25 13:16:38 +0000
commit27f3ca3d5af92f583b6d94c4ada33e7dabc7a8fd (patch)
tree750135972045e1d7c4c51bd8c1e4614419cc1aaf /m4/utimes.m4
parentf1a7e03bbe8788acd5755ec6e257776d8054ccd3 (diff)
downloadcoreutils-27f3ca3d5af92f583b6d94c4ada33e7dabc7a8fd.tar.xz
.
Diffstat (limited to 'm4/utimes.m4')
-rw-r--r--m4/utimes.m434
1 files changed, 34 insertions, 0 deletions
diff --git a/m4/utimes.m4 b/m4/utimes.m4
new file mode 100644
index 000000000..ddb3aeaee
--- /dev/null
+++ b/m4/utimes.m4
@@ -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
+ ]
+)