Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git] / m4 / mbstate_t.m4
CommitLineData
eb4a14ed 1# mbstate_t.m4 serial 13
af07e104 2dnl Copyright (C) 2000-2002, 2008-2013 Free Software Foundation, Inc.
eb4a14ed
LC
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
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# -----------------
15AC_DEFUN([AC_TYPE_MBSTATE_T],
16[
17 AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11
18
19 AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t],
20 [AC_COMPILE_IFELSE(
21 [AC_LANG_PROGRAM(
22 [AC_INCLUDES_DEFAULT[
23/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
24 <wchar.h>.
25 BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
26 included before <wchar.h>. */
27#include <stddef.h>
28#include <stdio.h>
29#include <time.h>
30#include <wchar.h>]],
31 [[mbstate_t x; return sizeof x;]])],
32 [ac_cv_type_mbstate_t=yes],
33 [ac_cv_type_mbstate_t=no])])
34 if test $ac_cv_type_mbstate_t = yes; then
35 AC_DEFINE([HAVE_MBSTATE_T], [1],
36 [Define to 1 if <wchar.h> declares mbstate_t.])
37 else
38 AC_DEFINE([mbstate_t], [int],
39 [Define to a type if <wchar.h> does not define.])
40 fi
41])