Update Gnulib to v0.1-77-gd9361da
[bpt/guile.git] / m4 / mbsinit.m4
1 # mbsinit.m4 serial 8
2 dnl Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6
7 AC_DEFUN([gl_FUNC_MBSINIT],
8 [
9 AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
10 AC_REQUIRE([AC_CANONICAL_HOST])
11
12 AC_REQUIRE([AC_TYPE_MBSTATE_T])
13 gl_MBSTATE_T_BROKEN
14
15 AC_CHECK_FUNCS_ONCE([mbsinit])
16 if test $ac_cv_func_mbsinit = no; then
17 HAVE_MBSINIT=0
18 AC_CHECK_DECLS([mbsinit],,, [[
19 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
20 <wchar.h>.
21 BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
22 included before <wchar.h>. */
23 #include <stddef.h>
24 #include <stdio.h>
25 #include <time.h>
26 #include <wchar.h>
27 ]])
28 if test $ac_cv_have_decl_mbsinit = yes; then
29 dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although
30 dnl it does not have the function. Avoid a collision with gnulib's
31 dnl replacement.
32 REPLACE_MBSINIT=1
33 fi
34 else
35 if test $REPLACE_MBSTATE_T = 1; then
36 REPLACE_MBSINIT=1
37 else
38 dnl On mingw, mbsinit() always returns 1, which is inappropriate for
39 dnl states produced by mbrtowc() for an incomplete multibyte character
40 dnl in multibyte locales.
41 case "$host_os" in
42 mingw*) REPLACE_MBSINIT=1 ;;
43 esac
44 fi
45 fi
46 ])
47
48 # Prerequisites of lib/mbsinit.c.
49 AC_DEFUN([gl_PREREQ_MBSINIT], [
50 :
51 ])