]> granicus.if.org Git - file/commitdiff
Support for mbstate_t autoconf.
authorChristos Zoulas <christos@zoulas.com>
Tue, 6 Apr 2004 15:18:19 +0000 (15:18 +0000)
committerChristos Zoulas <christos@zoulas.com>
Tue, 6 Apr 2004 15:18:19 +0000 (15:18 +0000)
acinclude.m4
configure.in

index 79ecb0e11db8e1cfc8d7e2b6a60dcb1e17fa29ba..4c27a4bd5bb0cb3923c09382ba582b3890814a01 100644 (file)
@@ -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])
+
+
index 00ab15d9b339fd576bda192a5b20c976ea9cd42a..5b9559cffedbd622654c12eaf15fec024c2cc396 100644 (file)
@@ -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)