From: Christos Zoulas Date: Tue, 6 Apr 2004 15:18:19 +0000 (+0000) Subject: Support for mbstate_t autoconf. X-Git-Tag: FILE5_05~877 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f7d06833b0b169ac88d6942669cd0019105e7729;p=file Support for mbstate_t autoconf. --- 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 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 +#endif +#include ], + [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 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)