This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Fix readline for platforms without <wchar.h>
- From: Mark Kettenis <kettenis at chello dot nl>
- To: gdb-patches at sources dot redhat dot com, ezannoni at redhat dot com
- Cc: chet at po dot cwru dot edu
- Date: Sun, 25 May 2003 13:29:41 +0200 (CEST)
- Subject: Fix readline for platforms without <wchar.h>
[ Chet, I don't now if you ever received the change that was
origionally made to the copy of readline in the GDB tree. Just in
case you intend to incorporate such a change in the next release of
readline, this patch solves a problem with it. ]
There is a problem with one of our local GDB fixes for readline:
2003-03-03 Kris Warkentin <kewarken@qnx.com>
* aclocal.m4: Cause wcwidth check to substitute
HAVE_WCWIDTH for building.
* Makefile.in: Add wcwidth object to lib if required.
* shlib/Makefile.in: Likewise.
* configure: Regenerate.
The problem is that this patch is that support/wcwidth.c
unconditionally includes <wchar.h>. Compilation of support/wcwidth.c
will therefore fail on platforms that don't have <wchar.h>, such as
OpenBSD 3.0.
The attached patch fixes this. I chose to fix this in aclocal.m4
instead of using HAVE_WCHAR_H in support/wcwidth.c since it keeps that
file unchanged from the upstream sources.
OK to check this in Elena?
Mark
Index: ChangeLog.gdb
from Mark Kettenis <kettenis@gnu.org>
* aclocal.m4: Don't add wcwidth.o if we don't have wchar.h.
* configure: Regenerate.
Index: aclocal.m4
===================================================================
RCS file: /cvs/src/src/readline/aclocal.m4,v
retrieving revision 1.6
diff -u -p -r1.6 aclocal.m4
--- aclocal.m4 3 Mar 2003 18:52:27 -0000 1.6
+++ aclocal.m4 25 May 2003 11:26:57 -0000
@@ -1654,13 +1654,13 @@ AC_CHECK_HEADERS(langinfo.h)
AC_CHECK_FUNC(mbrtowc, AC_DEFINE(HAVE_MBRTOWC))
AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
-AC_CHECK_FUNC(wcwidth, have_wcwidth=yes)
-if test "$have_wcwidth" = yes; then
- AC_DEFINE(HAVE_WCWIDTH)
- AC_SUBST(WCWIDTH_OBJ,)
+AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
+if test "$ac_cv_func_wcwidth" = no && test "$ac_cv_header_wchar_h" = yes; then
+ WCWIDTH_OBJ=wcwidth.o
else
- AC_SUBST(WCWIDTH_OBJ,wcwidth.o)
+ WCWIDTH_OBJ=
fi
+AC_SUBST(WCWIDTH_OBJ)
AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t,
[AC_TRY_RUN([