1# wint_t.m4 serial 8 2dnl Copyright (C) 2003, 2007-2020 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 [[ 18/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before 19 <wchar.h>. 20 BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included 21 before <wchar.h>. */ 22#include <stddef.h> 23#include <stdio.h> 24#include <time.h> 25#include <wchar.h> 26 wint_t foo = (wchar_t)'\0';]], 27 [[]])], 28 [gt_cv_c_wint_t=yes], 29 [gt_cv_c_wint_t=no])]) 30 if test $gt_cv_c_wint_t = yes; then 31 AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) 32 33 dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present, 34 dnl override 'wint_t'. 35 AC_CACHE_CHECK([whether wint_t is too small], 36 [gl_cv_type_wint_t_too_small], 37 [AC_COMPILE_IFELSE( 38 [AC_LANG_PROGRAM([[ 39/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before 40 <wchar.h>. 41 BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be 42 included before <wchar.h>. */ 43#if !(defined __GLIBC__ && !defined __UCLIBC__) 44# include <stddef.h> 45# include <stdio.h> 46# include <time.h> 47#endif 48#include <wchar.h> 49 int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; 50 ]])], 51 [gl_cv_type_wint_t_too_small=no], 52 [gl_cv_type_wint_t_too_small=yes])]) 53 if test $gl_cv_type_wint_t_too_small = yes; then 54 GNULIB_OVERRIDES_WINT_T=1 55 else 56 GNULIB_OVERRIDES_WINT_T=0 57 fi 58 else 59 GNULIB_OVERRIDES_WINT_T=0 60 fi 61 AC_SUBST([GNULIB_OVERRIDES_WINT_T]) 62]) 63 64dnl Prerequisites of the 'wint_t' override. 65AC_DEFUN([gl_TYPE_WINT_T_PREREQ], 66[ 67 AC_CHECK_HEADERS_ONCE([crtdefs.h]) 68 if test $ac_cv_header_crtdefs_h = yes; then 69 HAVE_CRTDEFS_H=1 70 else 71 HAVE_CRTDEFS_H=0 72 fi 73 AC_SUBST([HAVE_CRTDEFS_H]) 74]) 75