Back out the 2000-04-02 change.
[gnulib.git] / m4 / strftime.m4
index 974f2bf..732eacc 100644 (file)
@@ -1,11 +1,12 @@
-#serial 10
+#serial 13
 
 dnl This macro is intended to be used solely in this file.
 dnl These are the prerequisite macros for GNU's strftime.c replacement.
 AC_DEFUN(_jm_STRFTIME_PREREQS,
 [
- dnl strftime.c uses localtime_r if it exists.  Check for it.
- AC_CHECK_FUNCS(localtime_r)
+ dnl strftime.c uses localtime_r and the underyling system strftime
+ dnl if they exist.
+ AC_CHECK_FUNCS(localtime_r strftime)
 
  AC_CHECK_HEADERS(limits.h)
  AC_CHECK_FUNCS(bcopy tzset mempcpy memcpy memset)
@@ -35,11 +36,7 @@ AC_DEFUN(jm_FUNC_GNU_STRFTIME,
  AC_REQUIRE([AC_HEADER_STDC])dnl
  AC_CHECK_HEADERS(sys/time.h)
  AC_CACHE_CHECK([for working GNU strftime], jm_cv_func_working_gnu_strftime,
-  [# Set TZ to GMT0 to make strftime give consistent results during the test.
-   ac_save_TZ="${TZ-GMT0}"
-   TZ=GMT0
-   export TZ
-   AC_TRY_RUN(
+  [AC_TRY_RUN(
 [ /* Ulrich Drepper provided parts of the test program.  */
 #if STDC_HEADERS
 # include <stdlib.h>
@@ -80,6 +77,15 @@ main ()
   time_t t = 738367; /* Fri Jan  9 13:06:07 1970 */
   tm = gmtime (&t);
 
+  /* Undefine this in case the configure-time putenv test has defined it
+     to something else.  The use we make of this function here doesn't
+     require the added functionality of the replacement one.  */
+#undef putenv
+
+  /* This is necessary to make strftime give consistent zone strings and
+     e.g., seconds since the epoch (%s).  */
+  putenv ("TZ=GMT0");
+
 #undef CMP
 #define CMP(Fmt, Expected) n_fail += compare ((Fmt), tm, (Expected))
 
@@ -138,8 +144,6 @@ main ()
              jm_cv_func_working_gnu_strftime=no,
             dnl When crosscompiling, assume strftime is missing or broken.
             jm_cv_func_working_gnu_strftime=no)
-   dnl If TZ wasn't set before, this sets it to GMT0.  No real harm done.
-   TZ="$ac_save_TZ"
   ])
   if test $jm_cv_func_working_gnu_strftime = no; then
     AC_SUBST(LIBOBJS)