X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fstrftime.m4;h=caeb21fb41be90bb3268c30309281f61a2d32050;hb=39e19caaa08908df9df2308c652296bad797419d;hp=974f2bf00b0c55cc93a613629c3ad8800acac216;hpb=7b2edcb74314450b75c275afa9dcbc154364276b;p=gnulib.git diff --git a/m4/strftime.m4 b/m4/strftime.m4 index 974f2bf00..caeb21fb4 100644 --- a/m4/strftime.m4 +++ b/m4/strftime.m4 @@ -1,11 +1,12 @@ -#serial 10 +#serial 15 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) @@ -15,7 +16,7 @@ AC_DEFUN(_jm_STRFTIME_PREREQS, AC_CHECK_FUNCS(mblen mbrlen) - AC_CHECK_MEMBER(struct tm.tm_gmtoff, + AC_CHECK_MEMBER([struct tm.tm_gmtoff], [AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has the tm_gmtoff member.])], , @@ -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 @@ -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,12 +144,9 @@ 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) - LIBOBJS="$LIBOBJS strftime.$ac_objext" + AC_LIBOBJ(strftime) AC_DEFINE_UNQUOTED(strftime, gnu_strftime, [Define to gnu_strftime if the replacement function should be used.]) fi