X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fwctype.m4;h=b611ebbc9b26e43ad901c36aa1b4985453fdf0b3;hb=6da2fb7a5a1e8a32ccd2f735834713a3bc8c4275;hp=6a1b6f07f482838d4e2faeafa7474c368336d716;hpb=75d3df1811d7e52c553ae874ea7a0d9569780bea;p=gnulib.git diff --git a/m4/wctype.m4 b/m4/wctype.m4 index 6a1b6f07f..b611ebbc9 100644 --- a/m4/wctype.m4 +++ b/m4/wctype.m4 @@ -1,8 +1,8 @@ -# wctype.m4 serial 2 +# wctype.m4 serial 4 dnl A placeholder for ISO C99 , for platforms that lack it. -dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2009 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. @@ -12,6 +12,7 @@ dnl Written by Paul Eggert. AC_DEFUN([gl_WCTYPE_H], [ AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([iswcntrl]) if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 @@ -37,22 +38,31 @@ AC_DEFUN([gl_WCTYPE_H], dnl The other functions are likely broken in the same way. AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], [ - AC_TRY_RUN([#include - #include - #include - #include - #include - int main () { return iswprint ('x') == 0; }], + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + #include + #include + #include + #include + int main () { return iswprint ('x') == 0; }]])], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], - [AC_TRY_COMPILE([#include + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. - #endif], [], + #endif]], [])], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) ]) ]) if test $gl_cv_func_iswcntrl_works = yes; then - WCTYPE_H= + case "$host_os" in + mingw*) + dnl On mingw, towlower and towupper return random high 16 bits. + ;; + *) + dnl iswcntrl works. towlower and towupper work as well. + WCTYPE_H= + ;; + esac fi fi dnl Compute NEXT_WCTYPE_H even if WCTYPE_H is empty,