mbstate_t.m4 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # mbstate_t.m4 serial 13
  2. dnl Copyright (C) 2000-2002, 2008-2017 Free Software Foundation, Inc.
  3. dnl This file is free software; the Free Software Foundation
  4. dnl gives unlimited permission to copy and/or distribute it,
  5. dnl with or without modifications, as long as this notice is preserved.
  6. # From Paul Eggert.
  7. # BeOS 5 has <wchar.h> but does not define mbstate_t,
  8. # so you can't declare an object of that type.
  9. # Check for this incompatibility with Standard C.
  10. # AC_TYPE_MBSTATE_T
  11. # -----------------
  12. AC_DEFUN([AC_TYPE_MBSTATE_T],
  13. [
  14. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11
  15. AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t],
  16. [AC_COMPILE_IFELSE(
  17. [AC_LANG_PROGRAM(
  18. [AC_INCLUDES_DEFAULT[
  19. /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
  20. <wchar.h>.
  21. BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
  22. included before <wchar.h>. */
  23. #include <stddef.h>
  24. #include <stdio.h>
  25. #include <time.h>
  26. #include <wchar.h>]],
  27. [[mbstate_t x; return sizeof x;]])],
  28. [ac_cv_type_mbstate_t=yes],
  29. [ac_cv_type_mbstate_t=no])])
  30. if test $ac_cv_type_mbstate_t = yes; then
  31. AC_DEFINE([HAVE_MBSTATE_T], [1],
  32. [Define to 1 if <wchar.h> declares mbstate_t.])
  33. else
  34. AC_DEFINE([mbstate_t], [int],
  35. [Define to a type if <wchar.h> does not define.])
  36. fi
  37. ])