X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fstrftime.m4;h=3f105e986f41ee1fcee91da994de33f14d91f175;hb=7efc230716b545340f0fecf2a5cfebca956d9c76;hp=47cf56c6bbefd6edc7063a707e13cd67db9dc62f;hpb=3a375f0a503483de39d12e4d5056d26a77670431;p=gnulib.git diff --git a/m4/strftime.m4 b/m4/strftime.m4 index 47cf56c6b..3f105e986 100644 --- a/m4/strftime.m4 +++ b/m4/strftime.m4 @@ -1,13 +1,30 @@ -#serial 3 +#serial 5 -dnl From Jim Meyering. +dnl This macro is intended to be used solely in this file. +dnl These are the prerequisite macros for GNU's strftime.c replacement. +dnl FIXME: the list is far from complete +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. +]) + +dnl Determine if the strftime function has all the features of the GNU one. +dnl 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 +dnl From Jim Meyering. +dnl AC_DEFUN(jm_FUNC_GNU_STRFTIME, [AC_REQUIRE([AC_HEADER_TIME])dnl + + _jm_STRFTIME_PREREQS + AC_REQUIRE([AC_C_CONST])dnl AC_REQUIRE([AC_HEADER_STDC])dnl AC_CHECK_HEADERS(sys/time.h) @@ -68,6 +85,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"); @@ -91,6 +109,7 @@ main () CMP ("%^c", "FRI JAN 9 13:06:07 1970"); CMP ("%d", "09"); CMP ("%e", " 9"); /* POSIX.2 */ + CMP ("%f", "5"); /* POSIX.2 */ CMP ("%g", "70"); /* GNU */ CMP ("%h", "Jan"); /* POSIX.2 */ CMP ("%^h", "JAN"); @@ -123,3 +142,9 @@ changequote([, ])dnl AC_DEFINE_UNQUOTED(strftime, gnu_strftime) fi ]) + +AC_DEFUN(jm_FUNC_STRFTIME, +[ + _jm_STRFTIME_PREREQS + AC_REPLACE_FUNCS(strftime) +])