(AC_MBSTATE_T): Renamed from AC_MBSTATE_T_OBJECT. All uses changed.

Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
and mbstate_t, to a single-part test that simply defines mbstate_t.
This commit is contained in:
Paul Eggert
2000-07-11 03:55:28 +00:00
parent f03a9c9335
commit cf4b8601b4

View File

@@ -1,43 +1,29 @@
# serial 6
# serial 7
# From Paul Eggert.
# Some versions of BeOS define mbstate_t to be an incomplete type,
# 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
# (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_OBJECT,
AC_DEFUN(AC_MBSTATE_T,
[
AC_CHECK_HEADERS(stdlib.h)
AC_CACHE_CHECK([for mbstate_t object], ac_cv_type_mbstate_t_object,
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_object=yes,
ac_cv_type_mbstate_t_object=no)])
if test $ac_cv_type_mbstate_t_object = yes; then
AC_DEFINE(HAVE_MBSTATE_T_OBJECT, 1,
[Define if mbstate_t is an object type.])
else
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 != yes; then
AC_DEFINE(mbstate_t, int,
[Define to int if <wchar.h> does not define.])
fi
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, char,
[Define to a type if <wchar.h> does not define.])
fi])