| 1 | # mbsinit.m4 serial 9
|
|---|
| 2 | dnl Copyright (C) 2008, 2010-2021 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 | #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.
|
|---|
| 42 | AC_DEFUN([gl_PREREQ_MBSINIT], [
|
|---|
| 43 | :
|
|---|
| 44 | ])
|
|---|