1# wint_t.m4 serial 11
2dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8dnl Test whether <wchar.h> has the 'wint_t' type and whether gnulib's
9dnl <wchar.h> or <wctype.h> would, if present, override 'wint_t'.
10dnl Prerequisite: AC_PROG_CC
11
12AC_DEFUN([gt_TYPE_WINT_T],
13[
14  AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
15    [AC_COMPILE_IFELSE(
16       [AC_LANG_PROGRAM(
17          [[#include <wchar.h>
18            wint_t foo = (wchar_t)'\0';]],
19          [[]])],
20       [gt_cv_c_wint_t=yes],
21       [gt_cv_c_wint_t=no])])
22  if test $gt_cv_c_wint_t = yes; then
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
47dnl Prerequisites of the 'wint_t' override.
48AC_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
55  fi
56  AC_SUBST([HAVE_CRTDEFS_H])
57])
58