1# mbsinit.m4 serial 8
2dnl Copyright (C) 2008, 2010-2012 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_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.
49AC_DEFUN([gl_PREREQ_MBSINIT], [
50  :
51])
52