summaryrefslogtreecommitdiffstats
path: root/gl/m4/mbsinit.m4
diff options
context:
space:
mode:
Diffstat (limited to 'gl/m4/mbsinit.m4')
-rw-r--r--gl/m4/mbsinit.m433
1 files changed, 26 insertions, 7 deletions
diff --git a/gl/m4/mbsinit.m4 b/gl/m4/mbsinit.m4
index 46c106f..2e6d092 100644
--- a/gl/m4/mbsinit.m4
+++ b/gl/m4/mbsinit.m4
@@ -1,5 +1,5 @@
1# mbsinit.m4 serial 4 1# mbsinit.m4 serial 8
2dnl Copyright (C) 2008, 2010 Free Software Foundation, Inc. 2dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved. 5dnl with or without modifications, as long as this notice is preserved.
@@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
7AC_DEFUN([gl_FUNC_MBSINIT], 7AC_DEFUN([gl_FUNC_MBSINIT],
8[ 8[
9 AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) 9 AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
10 AC_REQUIRE([AC_CANONICAL_HOST])
10 11
11 AC_REQUIRE([AC_TYPE_MBSTATE_T]) 12 AC_REQUIRE([AC_TYPE_MBSTATE_T])
12 gl_MBSTATE_T_BROKEN 13 gl_MBSTATE_T_BROKEN
@@ -14,16 +15,34 @@ AC_DEFUN([gl_FUNC_MBSINIT],
14 AC_CHECK_FUNCS_ONCE([mbsinit]) 15 AC_CHECK_FUNCS_ONCE([mbsinit])
15 if test $ac_cv_func_mbsinit = no; then 16 if test $ac_cv_func_mbsinit = no; then
16 HAVE_MBSINIT=0 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
17 else 34 else
18 if test $REPLACE_MBSTATE_T = 1; then 35 if test $REPLACE_MBSTATE_T = 1; then
19 REPLACE_MBSINIT=1 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
20 fi 44 fi
21 fi 45 fi
22 if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
23 gl_REPLACE_WCHAR_H
24 AC_LIBOBJ([mbsinit])
25 gl_PREREQ_MBSINIT
26 fi
27]) 46])
28 47
29# Prerequisites of lib/mbsinit.c. 48# Prerequisites of lib/mbsinit.c.