This fixes a collision between the gnulib wrapper for printf (called '__printf__') and the libintl wrapper for printf (also called '__printf__'). Seen when compiling gettext with --disable-shared on mingw.
2009-08-10 Bruno Haible <br...@clisp.org> Avoid collision between gnulib wrapper and libintl wrapper. * lib/stdio-write.c (printf): Don't define if a printf wrapper is already defined in intl/printf.c. (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX. (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX. --- lib/stdio-write.c.orig 2009-08-10 13:26:17.000000000 +0200 +++ lib/stdio-write.c 2009-08-10 13:09:17.000000000 +0200 @@ -1,5 +1,5 @@ /* POSIX compatible FILE stream write function. - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. Written by Bruno Haible <br...@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify @@ -63,6 +63,7 @@ } # if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */ +# if !DEPENDS_ON_LIBINTL /* avoid collision with intl/printf.c */ int printf (const char *format, ...) { @@ -75,6 +76,7 @@ return retval; } +# endif # endif # if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */ @@ -92,7 +94,7 @@ } # endif -# if !REPLACE_VFPRINTF_POSIX /* avoid collision with vprintf.c */ +# if !REPLACE_VPRINTF_POSIX /* avoid collision with vprintf.c */ int vprintf (const char *format, va_list args) { @@ -100,7 +102,7 @@ } # endif -# if !REPLACE_VPRINTF_POSIX /* avoid collision with vfprintf.c */ +# if !REPLACE_VFPRINTF_POSIX /* avoid collision with vfprintf.c */ int vfprintf (FILE *stream, const char *format, va_list args) #undef vfprintf