Mercurial > hg > octave-nkf > gnulib-hg
changeset 8922:4d1bebb0f82b
Linux uClibc built without wide character support lacks <wchar.h>.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Thu, 07 Jun 2007 13:33:15 +0000 |
parents | 28ffab893f7a |
children | 9ded750c3fc8 |
files | ChangeLog doc/headers/wchar.texi lib/wchar_.h m4/stdint.m4 m4/wchar.m4 modules/mbfile modules/mbiter modules/mbuiter modules/wchar |
diffstat | 9 files changed, 49 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +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
--- a/doc/headers/wchar.texi +++ b/doc/headers/wchar.texi @@ -8,6 +8,9 @@ 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
--- a/lib/wchar_.h +++ b/lib/wchar_.h @@ -35,12 +35,15 @@ #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
--- a/m4/stdint.m4 +++ b/m4/stdint.m4 @@ -1,4 +1,4 @@ -# 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, @@ -222,6 +222,10 @@ 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 @@ -357,9 +361,11 @@ 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
--- a/m4/wchar.m4 +++ b/m4/wchar.m4 @@ -7,7 +7,7 @@ dnl Written by Eric Blake. -# wchar.m4 serial 1 +# wchar.m4 serial 2 AC_DEFUN([gl_WCHAR_H], [ @@ -20,6 +20,15 @@ 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
--- a/modules/mbfile +++ b/modules/mbfile @@ -8,6 +8,7 @@ Depends-on: mbchar +wchar stdbool configure.ac:
--- a/modules/mbiter +++ b/modules/mbiter @@ -8,6 +8,7 @@ Depends-on: mbchar +wchar stdbool configure.ac:
--- a/modules/mbuiter +++ b/modules/mbuiter @@ -8,6 +8,7 @@ Depends-on: mbchar +wchar stdbool strnlen1
--- a/modules/wchar +++ b/modules/wchar @@ -21,6 +21,7 @@ { 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 $@