Hi Sam, > >> why is tolower replaced on linux? > ... > ac_cv_have_decl_towlower=yes > > REPLACE_TOWLOWER='1'
Oops. that was a mistake yesterday. Thanks for having spotted it! Fixed as follows. 2011-08-01 Bruno Haible <br...@clisp.org> wctype-h: Fix last change. * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set REPLACE_TOWLOWER to 0. Reported by Sam Steingold <s...@gnu.org>. *** m4/wctype_h.m4.orig Mon Aug 1 21:56:33 2011 --- m4/wctype_h.m4 Mon Aug 1 21:54:29 2011 *************** *** 1,4 **** ! # wctype_h.m4 serial 15 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. --- 1,4 ---- ! # wctype_h.m4 serial 16 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. *************** *** 82,107 **** if test $REPLACE_ISWCNTRL = 1; then REPLACE_TOWLOWER=1 else ! AC_CHECK_DECLS([towlower],,, ! [[/* 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_WCTYPE_H ! # include <wctype.h> ! #endif ! ]]) ! if test $ac_cv_have_decl_towlower = yes; then ! dnl On Minix 3.1.8, the system's <wctype.h> declares towlower() and ! dnl towupper() although it does not have the functions. Avoid a collision ! dnl with gnulib's replacement. ! REPLACE_TOWLOWER=1 ! else REPLACE_TOWLOWER=0 fi fi AC_SUBST([REPLACE_TOWLOWER]) --- 82,112 ---- if test $REPLACE_ISWCNTRL = 1; then REPLACE_TOWLOWER=1 else ! AC_CHECK_FUNCS([towlower]) ! if test $ac_cv_func_towlower = yes; then REPLACE_TOWLOWER=0 + else + AC_CHECK_DECLS([towlower],,, + [[/* 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_WCTYPE_H + # include <wctype.h> + #endif + ]]) + if test $ac_cv_have_decl_towlower = yes; then + dnl On Minix 3.1.8, the system's <wctype.h> declares towlower() and + dnl towupper() although it does not have the functions. Avoid a + dnl collision with gnulib's replacement. + REPLACE_TOWLOWER=1 + else + REPLACE_TOWLOWER=0 + fi fi fi AC_SUBST([REPLACE_TOWLOWER]) -- In memoriam Marie Trintignant <http://en.wikipedia.org/wiki/Marie_Trintignant>