.
[gnulib.git] / m4 / strftime.m4
index e2074ab..1297216 100644 (file)
@@ -1,14 +1,25 @@
-#serial 6
+#serial 8
 
 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 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)
 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 <time.h>])
 ])
 
 dnl Determine if the strftime function has all the features of the GNU one.
 ])
 
 dnl Determine if the strftime function has all the features of the GNU one.
@@ -104,7 +115,6 @@ main ()
   CMP ("%^c", "FRI JAN  9 13:06:07 1970");
   CMP ("%d", "09");
   CMP ("%e", " 9");            /* POSIX.2 */
   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");
   CMP ("%g", "70");            /* GNU */
   CMP ("%h", "Jan");           /* POSIX.2 */
   CMP ("%^h", "JAN");
@@ -133,6 +143,7 @@ changequote([, ])dnl
             jm_cv_func_working_gnu_strftime=no)
   ])
   if test $jm_cv_func_working_gnu_strftime = no; then
             jm_cv_func_working_gnu_strftime=no)
   ])
   if test $jm_cv_func_working_gnu_strftime = no; then
+    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.])
     LIBOBJS="$LIBOBJS strftime.$ac_objext"
     AC_DEFINE_UNQUOTED(strftime, gnu_strftime,
       [Define to gnu_strftime if the replacement function should be used.])