X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fstrftime.m4;h=12972166663b38e612b159758376122498164acf;hb=8b94df3a1dedad41a6e4413162a827a109182dd5;hp=d366fde8f0626502c56a266817b121924c66110d;hpb=bafbf806a00b2fb65bc573e900c6fd6ac13ae7f3;p=gnulib.git diff --git a/m4/strftime.m4 b/m4/strftime.m4 index d366fde8f..129721666 100644 --- a/m4/strftime.m4 +++ b/m4/strftime.m4 @@ -1,23 +1,35 @@ -#serial 4 +#serial 8 -AC_DEFUN(jm_STRFTIME_PREREQS, +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 FIXME: add tests for everything in strftime.c: e.g., HAVE_BCOPY, - dnl HAVE_TZNAME, HAVE_TZSET, HAVE_TM_ZONE, etc. + + AC_CHECK_HEADERS(limits.h) + AC_CHECK_FUNCS(bcopy tzset mempcpy memcpy memset) + + # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. + AC_STRUCT_TIMEZONE + + AC_CHECK_FUNCS(mblen mbrlen) + + AC_CHECK_MEMBER(struct tm.tm_gmtoff, + [AC_DEFINE(HAVE_TM_GMTOFF, 1, + [Define if struct tm has the tm_gmtoff member.])], + , + [#include ]) ]) +dnl Determine if the strftime function has all the features of the GNU one. +dnl dnl From Jim Meyering. -dnl If you use this macro in a package, you should -dnl add the following two lines to acconfig.h: -dnl /* Define to gnu_strftime if the replacement function should be used. */ -dnl #undef strftime dnl AC_DEFUN(jm_FUNC_GNU_STRFTIME, [AC_REQUIRE([AC_HEADER_TIME])dnl - jm_STRFTIME_PREREQS + _jm_STRFTIME_PREREQS AC_REQUIRE([AC_C_CONST])dnl AC_REQUIRE([AC_HEADER_STDC])dnl @@ -79,6 +91,7 @@ main () CMP ("%^B", "JANUARY"); CMP ("%C", "19"); /* POSIX.2 */ CMP ("%D", "01/09/70"); /* POSIX.2 */ + CMP ("%F", "1970-01-09"); CMP ("%G", "1970"); /* GNU */ CMP ("%H", "13"); CMP ("%I", "01"); @@ -130,13 +143,15 @@ changequote([, ])dnl jm_cv_func_working_gnu_strftime=no) ]) if test $jm_cv_func_working_gnu_strftime = no; then - LIBOBJS="$LIBOBJS strftime.o" - AC_DEFINE_UNQUOTED(strftime, gnu_strftime) + AC_SUBST(LIBOBJS) + LIBOBJS="$LIBOBJS strftime.$ac_objext" + AC_DEFINE_UNQUOTED(strftime, gnu_strftime, + [Define to gnu_strftime if the replacement function should be used.]) fi ]) AC_DEFUN(jm_FUNC_STRFTIME, [ - jm_STRFTIME_PREREQS + _jm_STRFTIME_PREREQS AC_REPLACE_FUNCS(strftime) ])