diff options
| author | Christos Zoulas <christos@zoulas.com> | 2004-04-06 15:18:19 +0000 |
|---|---|---|
| committer | Christos Zoulas <christos@zoulas.com> | 2004-04-06 15:18:19 +0000 |
| commit | a8b75e30adbb84abbede1bc005a5911f544d8b27 (patch) | |
| tree | 58a38ed8331a86b37a38db90043368891d5d761b | |
| parent | 4ae708633e9a1459b10bf7b9b954554a24b5796f (diff) | |
| download | file-git-a8b75e30adbb84abbede1bc005a5911f544d8b27.tar.gz | |
Support for mbstate_t autoconf.
| -rw-r--r-- | acinclude.m4 | 30 | ||||
| -rw-r--r-- | configure.in | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 79ecb0e1..4c27a4bd 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -252,3 +252,33 @@ AC_DEFUN([AC_FUNC_FSEEKO], [Define if fseeko (and presumably ftello) exists and is declared.]) fi]) +# serial 9 + +# From Paul Eggert. + +# BeOS 5 has <wchar.h> but does not define mbstate_t, +# so you can't declare an object of that type. +# Check for this incompatibility with Standard C. + +# Include stdlib.h first, because otherwise this test would fail on Linux +# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits +# a syntax error in wchar.h due to the use of undefined __int32_t. +AC_DEFUN([AC_MBSTATE_T], + [ + AC_CHECK_HEADERS(stdlib.h) + + AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, + [AC_TRY_COMPILE([ +#if HAVE_STDLIB_H +# include <stdlib.h> +#endif +#include <wchar.h>], + [mbstate_t x; return sizeof x;], + ac_cv_type_mbstate_t=yes, + ac_cv_type_mbstate_t=no)]) + if test $ac_cv_type_mbstate_t = no; then + AC_DEFINE(mbstate_t, int, + [Define to a type if <wchar.h> does not define.]) + fi]) + + diff --git a/configure.in b/configure.in index 00ab15d9..5b9559cf 100644 --- a/configure.in +++ b/configure.in @@ -77,6 +77,7 @@ AC_TYPE_SIZE_T AC_STRUCT_ST_RDEV AC_STRUCT_TIMEZONE_DAYLIGHT AC_SYS_LARGEFILE +AC_MBSTATE_T AC_CHECK_TYPE_STDC(uint8_t, unsigned char) AC_CHECK_TYPE_STDC(uint16_t, unsigned short) |
