*** empty log message ***
authorJim Meyering <jim@meyering.net>
Sun, 15 Jul 2001 14:30:55 +0000 (14:30 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 15 Jul 2001 14:30:55 +0000 (14:30 +0000)
m4/ChangeLog
m4/gettimeofday.m4 [new file with mode: 0644]

index e941b60..f76db28 100644 (file)
@@ -1,3 +1,16 @@
+2001-07-15  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h stuff.
+       Now it's in ../Makefile.cfg.
+
+       * gettimeofday.m4: New file.
+
+2001-07-04  Jim Meyering  <meyering@lucent.com>
+
+       * Makefile.am.in (glibc-io.struct): New target.  Rework the code
+       that generates jm-glibc-io.m4 so that it doesn't trigger any make
+       distcheck failure.
+
 2001-07-02  Jim Meyering  <meyering@lucent.com>
 
        The following changes were prompted by suggestions from Bruno Haible.
diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4
new file mode 100644 (file)
index 0000000..2d893b7
--- /dev/null
@@ -0,0 +1,65 @@
+#serial 1
+
+dnl From Jim Meyering.
+dnl
+dnl See if gettimeofday clobbers the static buffer that localtime uses
+dnl for it's return value.  The gettimeofday function from Mac OS X 10.0.4,
+dnl i.e. Darwin 1.3.7 has this problem.
+dnl
+dnl If it does, then arrange to use gettimeofday only via the wrapper
+dnl function that works around the problem.
+
+AC_DEFUN(AC_FUNC_GETTIMEOFDAY_CLOBBER,
+[
+ AC_REQUIRE([AC_HEADER_TIME])
+ AC_CHECK_HEADERS(string.h stdlib.h)
+ AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
+  jm_cv_func_gettimeofday_clobber,
+  [AC_TRY_RUN([
+#include <stdio.h>
+#if HAVE_STRING_H
+# include <string.h>
+#endif
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+int
+main ()
+{
+  time_t t = 0;
+  struct tm *lt;
+  struct tm saved_lt;
+  struct timeval tv;
+  lt = localtime (&t);
+  saved_lt = *lt;
+  gettimeofday (&tv, NULL);
+  if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
+    exit (1);
+
+  exit (0);
+}
+         ],
+        jm_cv_func_gettimeofday_clobber=yes,
+        jm_cv_func_gettimeofday_clobber=no,
+        dnl When crosscompiling, assume it is broken.
+        jm_cv_func_gettimeofday_clobber=yes)
+  ])
+  if test $jm_cv_func_gettimeofday_clobber = yes; then
+    AC_LIBOBJ(gettimeofday)
+    AC_DEFINE_UNQUOTED(gettimeofday, rpl_gettimeofday,
+      [Define to rpl_gettimeofday if the replacement function should be used.])
+  fi
+])