X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fmbstate_t.m4;h=df2a275c2eab6a08d7d0b65fa7ee4e6ae230c7e9;hb=8cdbf8e55b8aaad2b6f69893f4491b509eecc5df;hp=c7cc38a01b9ef5472affd51673b0d6be5e1faba6;hpb=1fcf4b6f388b9c5993ab8b8dbc201e23f8a85768;p=gnulib.git diff --git a/m4/mbstate_t.m4 b/m4/mbstate_t.m4 index c7cc38a01..df2a275c2 100644 --- a/m4/mbstate_t.m4 +++ b/m4/mbstate_t.m4 @@ -1,26 +1,30 @@ -# serial 3 +# mbstate_t.m4 serial 9 +dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. # From Paul Eggert. -# Some versions of BeOS define mbstate_t to be an incomplete type, +# 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_OBJECT, - [AC_CACHE_CHECK([for mbstate_t object type], ac_cv_type_mbstate_t_object, - [AC_TRY_COMPILE([ -#if HAVE_STDLIB_H -# include -#endif -#include ], - [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.]) +# AC_TYPE_MBSTATE_T +# ----------------- +AC_DEFUN([AC_TYPE_MBSTATE_T], + [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT +# 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 = yes; then + AC_DEFINE([HAVE_MBSTATE_T], 1, + [Define to 1 if declares mbstate_t.]) + else + AC_DEFINE([mbstate_t], int, + [Define to a type if does not define.]) fi])