Merge branch 'master' into boehm-demers-weiser-gc
[bpt/guile.git] / m4 / mbstate_t.m4
1 # mbstate_t.m4 serial 10
2 dnl Copyright (C) 2000-2002, 2008 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 # From Paul Eggert.
8
9 # BeOS 5 has <wchar.h> but does not define mbstate_t,
10 # so you can't declare an object of that type.
11 # Check for this incompatibility with Standard C.
12
13 # AC_TYPE_MBSTATE_T
14 # -----------------
15 AC_DEFUN([AC_TYPE_MBSTATE_T],
16 [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
17 [AC_COMPILE_IFELSE(
18 [AC_LANG_PROGRAM(
19 [AC_INCLUDES_DEFAULT[
20 # include <wchar.h>]],
21 [[mbstate_t x; return sizeof x;]])],
22 [ac_cv_type_mbstate_t=yes],
23 [ac_cv_type_mbstate_t=no])])
24 if test $ac_cv_type_mbstate_t = yes; then
25 AC_DEFINE([HAVE_MBSTATE_T], 1,
26 [Define to 1 if <wchar.h> declares mbstate_t.])
27 else
28 AC_DEFINE([mbstate_t], int,
29 [Define to a type if <wchar.h> does not define.])
30 fi])