1# mbswidth.m4 serial 18 2dnl Copyright (C) 2000-2002, 2004, 2006-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 autoconf tests required for use of mbswidth.c 8dnl From Bruno Haible. 9 10AC_DEFUN([gl_MBSWIDTH], 11[ 12 AC_CHECK_HEADERS_ONCE([wchar.h]) 13 AC_CHECK_FUNCS_ONCE([isascii mbsinit]) 14 15 dnl UnixWare 7.1.1 <wchar.h> has a declaration of a function mbswidth() 16 dnl that clashes with ours. 17 AC_CACHE_CHECK([whether mbswidth is declared in <wchar.h>], 18 [ac_cv_have_decl_mbswidth], 19 [AC_COMPILE_IFELSE( 20 [AC_LANG_PROGRAM( 21 [[ 22/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before 23 <wchar.h>. 24 BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included 25 before <wchar.h>. */ 26#include <stddef.h> 27#include <stdio.h> 28#include <time.h> 29#include <wchar.h> 30 ]], 31 [[ 32 char *p = (char *) mbswidth; 33 return !p; 34 ]])], 35 [ac_cv_have_decl_mbswidth=yes], 36 [ac_cv_have_decl_mbswidth=no])]) 37 if test $ac_cv_have_decl_mbswidth = yes; then 38 ac_val=1 39 else 40 ac_val=0 41 fi 42 AC_DEFINE_UNQUOTED([HAVE_DECL_MBSWIDTH_IN_WCHAR_H], [$ac_val], 43 [Define to 1 if you have a declaration of mbswidth() in <wchar.h>, and to 0 otherwise.]) 44 45 AC_TYPE_MBSTATE_T 46]) 47