summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Zoulas <christos@zoulas.com>2004-04-06 15:18:19 +0000
committerChristos Zoulas <christos@zoulas.com>2004-04-06 15:18:19 +0000
commita8b75e30adbb84abbede1bc005a5911f544d8b27 (patch)
tree58a38ed8331a86b37a38db90043368891d5d761b
parent4ae708633e9a1459b10bf7b9b954554a24b5796f (diff)
downloadfile-git-a8b75e30adbb84abbede1bc005a5911f544d8b27.tar.gz
Support for mbstate_t autoconf.
-rw-r--r--acinclude.m430
-rw-r--r--configure.in1
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)