Work around declaration collisions on Minix.
[gnulib.git] / m4 / wcsrtombs.m4
index 7ce5759..143b1be 100644 (file)
@@ -1,4 +1,4 @@
-# wcsrtombs.m4 serial 10
+# wcsrtombs.m4 serial 11
 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -14,6 +14,22 @@ AC_DEFUN([gl_FUNC_WCSRTOMBS],
   AC_CHECK_FUNCS_ONCE([wcsrtombs])
   if test $ac_cv_func_wcsrtombs = no; then
     HAVE_WCSRTOMBS=0
+    AC_CHECK_DECLS([wcsrtombs],,, [[
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+   included before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+]])
+    if test $ac_cv_have_decl_wcsrtombs = yes; then
+      dnl On Minix 3.1.8, the system's <wchar.h> declares wcsrtombs() although
+      dnl it does not have the function. Avoid a collision with gnulib's
+      dnl replacement.
+      REPLACE_WCSRTOMBS=1
+    fi
   else
     if test $REPLACE_MBSTATE_T = 1; then
       REPLACE_WCSRTOMBS=1