X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fmbswidth.m4;h=e5d0457235eaec280ba450094cae0cb27fa3ed06;hb=676fc6f6594c7b81d26b22226514a512ca0f4bc3;hp=f61be107a8d49fb00524c8ab4c42f2940f5a75d1;hpb=23fe10e274cf20fb2cb75ea1da9556a733106657;p=gnulib.git diff --git a/m4/mbswidth.m4 b/m4/mbswidth.m4 index f61be107a..e5d045723 100644 --- a/m4/mbswidth.m4 +++ b/m4/mbswidth.m4 @@ -1,54 +1,45 @@ -#serial 11 +# mbswidth.m4 serial 18 +dnl Copyright (C) 2000-2002, 2004, 2006-2012 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. dnl autoconf tests required for use of mbswidth.c dnl From Bruno Haible. AC_DEFUN([gl_MBSWIDTH], [ - AC_CHECK_HEADERS_ONCE(wchar.h wctype.h) - AC_CHECK_FUNCS_ONCE(isascii iswprint mbsinit) - AC_CHECK_FUNCS(iswcntrl wcwidth) - gl_FUNC_MBRTOWC - - AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth, - [AC_TRY_COMPILE([ -/* AIX 3.2.5 declares wcwidth in . */ -#if HAVE_STRING_H -# include -#endif -#if HAVE_WCHAR_H -# include -#endif -], [ -#ifndef wcwidth - char *p = (char *) wcwidth; -#endif -], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)]) - if test $ac_cv_have_decl_wcwidth = yes; then - ac_val=1 - else - ac_val=0 - fi - AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val, - [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.]) + AC_CHECK_HEADERS_ONCE([wchar.h]) + AC_CHECK_FUNCS_ONCE([isascii mbsinit]) dnl UnixWare 7.1.1 has a declaration of a function mbswidth() dnl that clashes with ours. AC_CACHE_CHECK([whether mbswidth is declared in ], - ac_cv_have_decl_mbswidth, - [AC_TRY_COMPILE([ -#if HAVE_WCHAR_H -# include -#endif -], [ + [ac_cv_have_decl_mbswidth], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + ]], + [[ char *p = (char *) mbswidth; -], ac_cv_have_decl_mbswidth=yes, ac_cv_have_decl_mbswidth=no)]) + return !p; + ]])], + [ac_cv_have_decl_mbswidth=yes], + [ac_cv_have_decl_mbswidth=no])]) if test $ac_cv_have_decl_mbswidth = yes; then ac_val=1 else ac_val=0 fi - AC_DEFINE_UNQUOTED(HAVE_DECL_MBSWIDTH_IN_WCHAR_H, $ac_val, + AC_DEFINE_UNQUOTED([HAVE_DECL_MBSWIDTH_IN_WCHAR_H], [$ac_val], [Define to 1 if you have a declaration of mbswidth() in , and to 0 otherwise.]) AC_TYPE_MBSTATE_T