maint: update copyright
[gnulib.git] / m4 / mbstate_t.m4
index 4cbbfd5..068155a 100644 (file)
@@ -1,18 +1,41 @@
-# serial 1
+# mbstate_t.m4 serial 13
+dnl Copyright (C) 2000-2002, 2008-2014 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 <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.
 
-AC_DEFUN(AC_MBSTATE_T_OBJECT,
-  [AC_CACHE_CHECK([for mbstate_t object type], ac_cv_type_mbstate_t_object,
-    [AC_TRY_COMPILE([#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.])
-   fi])
+# AC_TYPE_MBSTATE_T
+# -----------------
+AC_DEFUN([AC_TYPE_MBSTATE_T],
+[
+   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11
+
+   AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t],
+     [AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+           [AC_INCLUDES_DEFAULT[
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+   included before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#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([HAVE_MBSTATE_T], [1],
+               [Define to 1 if <wchar.h> declares mbstate_t.])
+   else
+     AC_DEFINE([mbstate_t], [int],
+               [Define to a type if <wchar.h> does not define.])
+   fi
+])