+2007-06-07 Bruno Haible <bruno@clisp.org>
+
+ Work around the lack of <wchar.h> on some builds of uClibc.
+ * doc/headers/wchar.texi: Update.
+ * lib/wchar_.h: Include <wchar.h> only if it exists.
+ * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
+ * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
+ (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
+ doesn't exist.
+ * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
+ * modules/mbfile (Depends-on): Add wchar.
+ * modules/mbiter (Depends-on): Likewise.
+ * modules/mbuiter (Depends-on): Likewise.
+
2007-06-06 Paul Eggert <eggert@cs.ucla.edu>
Work around problem reported by Steven M. Schweda in
Portability problems fixed by Gnulib:
@itemize
@item
+This header file cannot be included on some platforms:
+Linux uClibc built without wide character support.
+@item
This header file is not self-contained on some platforms:
OSF/1 with Desktop Toolkit C, BSD/OS 4.0.1.
@end itemize
#include <stdio.h>
#include <time.h>
-/* Include the original <wchar.h>. */
+/* Include the original <wchar.h> if it exists.
+ Some builds of uClibc lack it. */
/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_INCLUDE_NEXT@
-# include_next <wchar.h>
-#else
-# include @ABSOLUTE_WCHAR_H@
+#if @HAVE_WCHAR_H@
+# if @HAVE_INCLUDE_NEXT@
+# include_next <wchar.h>
+# else
+# include @ABSOLUTE_WCHAR_H@
+# endif
#endif
#ifndef _GL_WCHAR_H
-# stdint.m4 serial 25
+# stdint.m4 serial 26
dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
fi
AC_SUBST([HAVE_SYS_BITYPES_H])
+ dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
+ dnl character support).
+ AC_CHECK_HEADERS_ONCE([wchar.h])
+
gl_STDINT_TYPE_PROPERTIES
STDINT_H=stdint.h
fi
included before <wchar.h>. */
#include <stddef.h>
#include <signal.h>
- #include <stdio.h>
- #include <time.h>
- #include <wchar.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
]])
dnl gl_STDINT_TYPE_PROPERTIES
dnl Written by Eric Blake.
-# wchar.m4 serial 1
+# wchar.m4 serial 2
AC_DEFUN([gl_WCHAR_H],
[
if test $gl_cv_header_wchar_h_standalone = yes; then
WCHAR_H=
else
+ dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
+ dnl character support).
+ AC_CHECK_HEADERS_ONCE([wchar.h])
+ if test $ac_cv_header_wchar_h = yes; then
+ HAVE_WCHAR_H=1
+ else
+ HAVE_WCHAR_H=0
+ fi
+ AC_SUBST([HAVE_WCHAR_H])
gl_ABSOLUTE_HEADER([wchar.h])
ABSOLUTE_WCHAR_H=\"$gl_cv_absolute_wchar_h\"
WCHAR_H=wchar.h
Depends-on:
mbchar
+wchar
stdbool
configure.ac:
Depends-on:
mbchar
+wchar
stdbool
configure.ac:
Depends-on:
mbchar
+wchar
stdbool
strnlen1
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_WCHAR_H''@|$(ABSOLUTE_WCHAR_H)|g' \
-e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
< $(srcdir)/wchar_.h; \
} > $@-t
mv $@-t $@