changeset 3295:5425e8255877

*** empty log message ***
author Jim Meyering <jim@meyering.net>
date Sun, 15 Jul 2001 14:30:55 +0000
parents 0477051f57eb
children 0336638ada4a
files m4/ChangeLog m4/gettimeofday.m4
diffstat 2 files changed, 78 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -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.
new file mode 100644
--- /dev/null
+++ b/m4/gettimeofday.m4
@@ -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
+])