This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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([


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]