diff options
Diffstat (limited to 'gl/m4/wint_t.m4')
| -rw-r--r-- | gl/m4/wint_t.m4 | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4 index d7cd3db9..dfd743b3 100644 --- a/gl/m4/wint_t.m4 +++ b/gl/m4/wint_t.m4 | |||
| @@ -1,11 +1,12 @@ | |||
| 1 | # wint_t.m4 serial 5 (gettext-0.18.2) | 1 | # wint_t.m4 serial 11 |
| 2 | dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2023 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| 6 | 6 | ||
| 7 | dnl From Bruno Haible. | 7 | dnl From Bruno Haible. |
| 8 | dnl Test whether <wchar.h> has the 'wint_t' type. | 8 | dnl Test whether <wchar.h> has the 'wint_t' type and whether gnulib's |
| 9 | dnl <wchar.h> or <wctype.h> would, if present, override 'wint_t'. | ||
| 9 | dnl Prerequisite: AC_PROG_CC | 10 | dnl Prerequisite: AC_PROG_CC |
| 10 | 11 | ||
| 11 | AC_DEFUN([gt_TYPE_WINT_T], | 12 | AC_DEFUN([gt_TYPE_WINT_T], |
| @@ -13,20 +14,44 @@ AC_DEFUN([gt_TYPE_WINT_T], | |||
| 13 | AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], | 14 | AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], |
| 14 | [AC_COMPILE_IFELSE( | 15 | [AC_COMPILE_IFELSE( |
| 15 | [AC_LANG_PROGRAM( | 16 | [AC_LANG_PROGRAM( |
| 16 | [[ | 17 | [[#include <wchar.h> |
| 17 | /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before | ||
| 18 | <wchar.h>. | ||
| 19 | BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included | ||
| 20 | before <wchar.h>. */ | ||
| 21 | #include <stddef.h> | ||
| 22 | #include <stdio.h> | ||
| 23 | #include <time.h> | ||
| 24 | #include <wchar.h> | ||
| 25 | wint_t foo = (wchar_t)'\0';]], | 18 | wint_t foo = (wchar_t)'\0';]], |
| 26 | [[]])], | 19 | [[]])], |
| 27 | [gt_cv_c_wint_t=yes], | 20 | [gt_cv_c_wint_t=yes], |
| 28 | [gt_cv_c_wint_t=no])]) | 21 | [gt_cv_c_wint_t=no])]) |
| 29 | if test $gt_cv_c_wint_t = yes; then | 22 | if test $gt_cv_c_wint_t = yes; then |
| 30 | AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) | 23 | AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) |
| 24 | |||
| 25 | dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present, | ||
| 26 | dnl override 'wint_t'. | ||
| 27 | AC_CACHE_CHECK([whether wint_t is large enough], | ||
| 28 | [gl_cv_type_wint_t_large_enough], | ||
| 29 | [AC_COMPILE_IFELSE( | ||
| 30 | [AC_LANG_PROGRAM( | ||
| 31 | [[#include <wchar.h> | ||
| 32 | int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; | ||
| 33 | ]])], | ||
| 34 | [gl_cv_type_wint_t_large_enough=yes], | ||
| 35 | [gl_cv_type_wint_t_large_enough=no])]) | ||
| 36 | if test $gl_cv_type_wint_t_large_enough = no; then | ||
| 37 | GNULIBHEADERS_OVERRIDE_WINT_T=1 | ||
| 38 | else | ||
| 39 | GNULIBHEADERS_OVERRIDE_WINT_T=0 | ||
| 40 | fi | ||
| 41 | else | ||
| 42 | GNULIBHEADERS_OVERRIDE_WINT_T=0 | ||
| 43 | fi | ||
| 44 | AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T]) | ||
| 45 | ]) | ||
| 46 | |||
| 47 | dnl Prerequisites of the 'wint_t' override. | ||
| 48 | AC_DEFUN([gl_TYPE_WINT_T_PREREQ], | ||
| 49 | [ | ||
| 50 | AC_CHECK_HEADERS_ONCE([crtdefs.h]) | ||
| 51 | if test $ac_cv_header_crtdefs_h = yes; then | ||
| 52 | HAVE_CRTDEFS_H=1 | ||
| 53 | else | ||
| 54 | HAVE_CRTDEFS_H=0 | ||
| 31 | fi | 55 | fi |
| 56 | AC_SUBST([HAVE_CRTDEFS_H]) | ||
| 32 | ]) | 57 | ]) |
