| Index: bison/src/bison/2.4.1/bison-2.4.1-src/m4/wcwidth.m4
|
| ===================================================================
|
| --- bison/src/bison/2.4.1/bison-2.4.1-src/m4/wcwidth.m4 (revision 0)
|
| +++ bison/src/bison/2.4.1/bison-2.4.1-src/m4/wcwidth.m4 (revision 0)
|
| @@ -0,0 +1,85 @@
|
| +# wcwidth.m4 serial 14
|
| +dnl Copyright (C) 2006-2008 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.
|
| +
|
| +AC_DEFUN([gl_FUNC_WCWIDTH],
|
| +[
|
| + AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
|
| +
|
| + dnl Persuade glibc <wchar.h> to declare wcwidth().
|
| + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
| +
|
| + AC_REQUIRE([gt_TYPE_WCHAR_T])
|
| + AC_REQUIRE([gt_TYPE_WINT_T])
|
| +
|
| + AC_CHECK_HEADERS_ONCE([wchar.h])
|
| + AC_CHECK_FUNCS_ONCE([wcwidth])
|
| +
|
| + AC_CHECK_DECLS([wcwidth], [], [], [
|
| +/* AIX 3.2.5 declares wcwidth in <string.h>. */
|
| +#include <string.h>
|
| +/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
| + <wchar.h>.
|
| + BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
|
| + before <wchar.h>. */
|
| +#include <stddef.h>
|
| +#include <stdio.h>
|
| +#include <time.h>
|
| +#include <wchar.h>
|
| +])
|
| + if test $ac_cv_have_decl_wcwidth != yes; then
|
| + HAVE_DECL_WCWIDTH=0
|
| + fi
|
| +
|
| + if test $ac_cv_func_wcwidth = no; then
|
| + REPLACE_WCWIDTH=1
|
| + else
|
| + dnl On MacOS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1.
|
| + dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1.
|
| + dnl This leads to bugs in 'ls' (coreutils).
|
| + AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales],
|
| + [gl_cv_func_wcwidth_works],
|
| + [
|
| + AC_TRY_RUN([
|
| +#include <locale.h>
|
| +/* AIX 3.2.5 declares wcwidth in <string.h>. */
|
| +#include <string.h>
|
| +/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
| + <wchar.h>.
|
| + BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
|
| + before <wchar.h>. */
|
| +#include <stddef.h>
|
| +#include <stdio.h>
|
| +#include <time.h>
|
| +#include <wchar.h>
|
| +#if !HAVE_DECL_WCWIDTH
|
| +extern
|
| +# ifdef __cplusplus
|
| +"C"
|
| +# endif
|
| +int wcwidth (int);
|
| +#endif
|
| +int main ()
|
| +{
|
| + if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL)
|
| + if (wcwidth (0x0301) > 0 || wcwidth (0x200B) > 0)
|
| + return 1;
|
| + return 0;
|
| +}], [gl_cv_func_wcwidth_works=yes], [gl_cv_func_wcwidth_works=no],
|
| + [gl_cv_func_wcwidth_works="guessing no"])
|
| + ])
|
| + case "$gl_cv_func_wcwidth_works" in
|
| + *yes) ;;
|
| + *no) REPLACE_WCWIDTH=1 ;;
|
| + esac
|
| + fi
|
| + if test $REPLACE_WCWIDTH = 1; then
|
| + AC_LIBOBJ([wcwidth])
|
| + fi
|
| +
|
| + if test $REPLACE_WCWIDTH = 1 || test $HAVE_DECL_WCWIDTH = 0; then
|
| + gl_REPLACE_WCHAR_H
|
| + fi
|
| +])
|
|
|