changeset 2376:1e6369bc36c3

(jm_FUNC_GNU_STRFTIME): Set TZ environment variable in the shell rather than using putenv, which isn't portable. This avoids the configure-time inter-test dependency on the potentially-renamed putenv function.
author Jim Meyering <jim@meyering.net>
date Mon, 03 Apr 2000 06:24:20 +0000
parents f25b865f900c
children c905538992aa
files m4/strftime.m4
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/m4/strftime.m4
+++ b/m4/strftime.m4
@@ -1,4 +1,4 @@
-#serial 9
+#serial 10
 
 dnl This macro is intended to be used solely in this file.
 dnl These are the prerequisite macros for GNU's strftime.c replacement.
@@ -35,7 +35,11 @@
  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,
-  [AC_TRY_RUN(
+  [# 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(
 [ /* Ulrich Drepper provided parts of the test program.  */
 #if STDC_HEADERS
 # include <stdlib.h>
@@ -76,10 +80,6 @@
   time_t t = 738367; /* Fri Jan  9 13:06:07 1970 */
   tm = gmtime (&t);
 
-  /* 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,6 +138,8 @@
              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)