* stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
[gnulib.git] / m4 / gettimeofday.m4
index 2d893b7..2fdc531 100644 (file)
@@ -1,25 +1,27 @@
-#serial 1
+#serial 7
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 dnl From Jim Meyering.
 dnl
 dnl See if gettimeofday clobbers the static buffer that localtime uses
 
 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 for its return value.  The gettimeofday function from Mac OS X 10.0.4
+dnl (i.e., Darwin 1.3.7) has this problem.
 dnl
 dnl
-dnl If it does, then arrange to use gettimeofday only via the wrapper
-dnl function that works around the problem.
+dnl If it does, then arrange to use gettimeofday and localtime only via
+dnl the wrapper functions that work around the problem.
 
 
-AC_DEFUN(AC_FUNC_GETTIMEOFDAY_CLOBBER,
+AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
 [
  AC_REQUIRE([AC_HEADER_TIME])
 [
  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>
  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
+#include <string.h>
 
 #if TIME_WITH_SYS_TIME
 # include <sys/time.h>
 
 #if TIME_WITH_SYS_TIME
 # include <sys/time.h>
@@ -32,9 +34,7 @@ AC_DEFUN(AC_FUNC_GETTIMEOFDAY_CLOBBER,
 # endif
 #endif
 
 # endif
 #endif
 
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
+#include <stdlib.h>
 
 int
 main ()
 
 int
 main ()
@@ -52,14 +52,29 @@ main ()
   exit (0);
 }
          ],
   exit (0);
 }
          ],
-        jm_cv_func_gettimeofday_clobber=yes,
         jm_cv_func_gettimeofday_clobber=no,
         jm_cv_func_gettimeofday_clobber=no,
+        jm_cv_func_gettimeofday_clobber=yes,
         dnl When crosscompiling, assume it is broken.
         jm_cv_func_gettimeofday_clobber=yes)
   ])
   if test $jm_cv_func_gettimeofday_clobber = yes; then
         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,
+    gl_GETTIMEOFDAY_REPLACE_LOCALTIME
+
+    AC_DEFINE(gettimeofday, rpl_gettimeofday,
       [Define to rpl_gettimeofday if the replacement function should be used.])
       [Define to rpl_gettimeofday if the replacement function should be used.])
+    gl_PREREQ_GETTIMEOFDAY
   fi
 ])
   fi
 ])
+
+AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [
+  AC_LIBOBJ(gettimeofday)
+  AC_DEFINE(gmtime, rpl_gmtime,
+    [Define to rpl_gmtime if the replacement function should be used.])
+  AC_DEFINE(localtime, rpl_localtime,
+    [Define to rpl_localtime if the replacement function should be used.])
+])
+
+# Prerequisites of lib/gettimeofday.c.
+AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [
+  AC_REQUIRE([AC_HEADER_TIME])
+])