1# mbsinit.m4 serial 9
2dnl Copyright (C) 2008, 2010-2021 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      #include <wchar.h>
20    ]])
21    if test $ac_cv_have_decl_mbsinit = yes; then
22      dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although
23      dnl it does not have the function. Avoid a collision with gnulib's
24      dnl replacement.
25      REPLACE_MBSINIT=1
26    fi
27  else
28    if test $REPLACE_MBSTATE_T = 1; then
29      REPLACE_MBSINIT=1
30    else
31      dnl On mingw, mbsinit() always returns 1, which is inappropriate for
32      dnl states produced by mbrtowc() for an incomplete multibyte character
33      dnl in multibyte locales.
34      case "$host_os" in
35        mingw*) REPLACE_MBSINIT=1 ;;
36      esac
37    fi
38  fi
39])
40
41# Prerequisites of lib/mbsinit.c.
42AC_DEFUN([gl_PREREQ_MBSINIT], [
43  :
44])
45