xref: /Universal-ctags/m4/mbsinit.m4 (revision 820c1a8d46849a90376d8eb15b319ac05439f656)
1*820c1a8dSHiroo HAYASHI# mbsinit.m4 serial 9
2*820c1a8dSHiroo HAYASHIdnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc.
3*820c1a8dSHiroo HAYASHIdnl This file is free software; the Free Software Foundation
4*820c1a8dSHiroo HAYASHIdnl gives unlimited permission to copy and/or distribute it,
5*820c1a8dSHiroo HAYASHIdnl with or without modifications, as long as this notice is preserved.
6*820c1a8dSHiroo HAYASHI
7*820c1a8dSHiroo HAYASHIAC_DEFUN([gl_FUNC_MBSINIT],
8*820c1a8dSHiroo HAYASHI[
9*820c1a8dSHiroo HAYASHI  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
10*820c1a8dSHiroo HAYASHI  AC_REQUIRE([AC_CANONICAL_HOST])
11*820c1a8dSHiroo HAYASHI
12*820c1a8dSHiroo HAYASHI  AC_REQUIRE([AC_TYPE_MBSTATE_T])
13*820c1a8dSHiroo HAYASHI  gl_MBSTATE_T_BROKEN
14*820c1a8dSHiroo HAYASHI
15*820c1a8dSHiroo HAYASHI  AC_CHECK_FUNCS_ONCE([mbsinit])
16*820c1a8dSHiroo HAYASHI  if test $ac_cv_func_mbsinit = no; then
17*820c1a8dSHiroo HAYASHI    HAVE_MBSINIT=0
18*820c1a8dSHiroo HAYASHI    AC_CHECK_DECLS([mbsinit],,, [[
19*820c1a8dSHiroo HAYASHI      #include <wchar.h>
20*820c1a8dSHiroo HAYASHI    ]])
21*820c1a8dSHiroo HAYASHI    if test $ac_cv_have_decl_mbsinit = yes; then
22*820c1a8dSHiroo HAYASHI      dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although
23*820c1a8dSHiroo HAYASHI      dnl it does not have the function. Avoid a collision with gnulib's
24*820c1a8dSHiroo HAYASHI      dnl replacement.
25*820c1a8dSHiroo HAYASHI      REPLACE_MBSINIT=1
26*820c1a8dSHiroo HAYASHI    fi
27*820c1a8dSHiroo HAYASHI  else
28*820c1a8dSHiroo HAYASHI    if test $REPLACE_MBSTATE_T = 1; then
29*820c1a8dSHiroo HAYASHI      REPLACE_MBSINIT=1
30*820c1a8dSHiroo HAYASHI    else
31*820c1a8dSHiroo HAYASHI      dnl On mingw, mbsinit() always returns 1, which is inappropriate for
32*820c1a8dSHiroo HAYASHI      dnl states produced by mbrtowc() for an incomplete multibyte character
33*820c1a8dSHiroo HAYASHI      dnl in multibyte locales.
34*820c1a8dSHiroo HAYASHI      case "$host_os" in
35*820c1a8dSHiroo HAYASHI        mingw*) REPLACE_MBSINIT=1 ;;
36*820c1a8dSHiroo HAYASHI      esac
37*820c1a8dSHiroo HAYASHI    fi
38*820c1a8dSHiroo HAYASHI  fi
39*820c1a8dSHiroo HAYASHI])
40*820c1a8dSHiroo HAYASHI
41*820c1a8dSHiroo HAYASHI# Prerequisites of lib/mbsinit.c.
42*820c1a8dSHiroo HAYASHIAC_DEFUN([gl_PREREQ_MBSINIT], [
43*820c1a8dSHiroo HAYASHI  :
44*820c1a8dSHiroo HAYASHI])
45