summaryrefslogtreecommitdiff
path: root/m4/mbrlen.m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2011-07-31 17:05:59 +0200
committerBruno Haible <bruno@clisp.org>2011-07-31 17:05:59 +0200
commitcdf12ee48247d39e7b1fd40289b78741aa4d4df1 (patch)
tree951496eb73a8dea01c6e4754fcd47c60e20f7917 /m4/mbrlen.m4
parent2b14869442bce932cf1d805387928484d4914d59 (diff)
downloadgnulib-cdf12ee48247d39e7b1fd40289b78741aa4d4df1.tar.gz
Work around declaration collisions on Minix.
* m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not defined, set REPLACE_MBSINIT. * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not defined, set REPLACE_MBRTOWC. * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined, set REPLACE_MBRLEN. * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not defined, set REPLACE_MBSRTOWCS. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not defined, set REPLACE_WCRTOMB. * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not defined, set REPLACE_WCSRTOMBS.
Diffstat (limited to 'm4/mbrlen.m4')
-rw-r--r--m4/mbrlen.m418
1 files changed, 17 insertions, 1 deletions
diff --git a/m4/mbrlen.m4 b/m4/mbrlen.m4
index 884f8cdb48..8d6fb2369c 100644
--- a/m4/mbrlen.m4
+++ b/m4/mbrlen.m4
@@ -1,4 +1,4 @@
-# mbrlen.m4 serial 7
+# mbrlen.m4 serial 8
dnl Copyright (C) 2008, 2010-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,
@@ -13,6 +13,22 @@ AC_DEFUN([gl_FUNC_MBRLEN],
AC_CHECK_FUNCS_ONCE([mbrlen])
if test $ac_cv_func_mbrlen = no; then
HAVE_MBRLEN=0
+ AC_CHECK_DECLS([mbrlen],,, [[
+/* 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_mbrlen = yes; then
+ dnl On Minix 3.1.8, the system's <wchar.h> declares mbrlen() although
+ dnl it does not have the function. Avoid a collision with gnulib's
+ dnl replacement.
+ REPLACE_MBRLEN=1
+ fi
else
dnl Most bugs affecting the system's mbrtowc function also affect the
dnl mbrlen function. So override mbrlen whenever mbrtowc is overridden.