This is the mail archive of the gdb-patches@sourceware.org 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]

Re: [PATCHSET] [4/4] Fix various issue in TUI


> Date: Mon, 05 Jan 2015 22:06:07 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: gdb-patches@sourceware.org
> 
> > Date: Mon, 05 Jan 2015 19:54:42 +0000
> > From: Pedro Alves <palves@redhat.com>
> > 
> > On 12/31/2014 05:56 PM, Eli Zaretskii wrote:
> > > Well, one patch is Windows-specific after all.  This patch makes sure
> > > windows-termcap is not compiled when GDB is linked against ncurses,
> > 
> > ...
> > 
> > > and also makes the file a no-op should it compile in that
> > > configuration.  
> > 
> > With the configure.ac change, how can that happen?
> 
> It shouldn't.
> 
> > > --- gdb/configure.ac~0	2014-10-29 21:45:50 +0200
> > > +++ gdb/configure.ac	2014-12-30 07:42:27 +0200
> > > @@ -627,9 +627,10 @@
> > >      ac_cv_search_tgetent="none required"
> > >      ;;
> > >    *mingw32*)
> > > -    ac_cv_search_tgetent="none required"
> > > -    CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
> > > -    ;;
> > > +    if test x"$prefer_curses" = xyes; then
> > > +      ac_cv_search_tgetent="none required"
> > > +      CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
> > 
> > I'm confused on the predicate here.  How can we tell
> > from $prefer_curses that the curses library doesn't include
> > termcap?  AFAICS, if the TUI is enabled, it'll always be
> > "yes".  But isn't that the case where you _don't_
> > want windows-termcap.o?  And shouldn't this be checking
> > $curses_found?
> 
> Sorry, I sent the wrong patch here.  It should be !=, of course.
> 
> > > --- gdb/windows-termcap.c~0	2014-06-11 18:34:41 +0300
> > > +++ gdb/windows-termcap.c	2014-12-29 15:42:44 +0200
> > > @@ -19,6 +19,11 @@
> > >     You should have received a copy of the GNU General Public License
> > >     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
> > >  
> > > +
> > > +#include "config.h"
> > 
> > All files in gdb/ should start with "defs.h" instead.
> 
> OK.

I just realized that I cannot push this changeset because Autoconf I
have installed isn't version 2.64, and so I cannot regenerate
'configure'.  Could someone please do that for me?  The patch is
below.

Or I could push the patch below, and then someone else could do the
generated files as a separate commit.

Thanks in advance.

Don't use windows-termcap.c when linking against a curses library

gdb/
2015-01-17  Eli Zaretskii  <eliz@gnu.org>

	* configure.ac [*mingw32*]: Only add windows-termcap.o to
	CONFIG_OBS if not building with a curses library.

	* windows-termcap.c: Include defs.h.  Make the whole body empty if
	either one of HAVE_CURSES_H or HAVE_NCURSES_H or
	HAVE_NCURSES_NCURSES_H is defined.

diff --git a/gdb/configure.ac b/gdb/configure.ac
index 8dd7f8f..b852b93 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -611,9 +611,10 @@ case $host_os in
     ac_cv_search_tgetent="none required"
     ;;
   *mingw32*)
-    ac_cv_search_tgetent="none required"
-    CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
-    ;;
+    if test x"$prefer_curses" != xyes; then
+      ac_cv_search_tgetent="none required"
+      CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
+    fi ;;
 esac
 
 # These are the libraries checked by Readline.
diff --git a/gdb/windows-termcap.c b/gdb/windows-termcap.c
index 026c3d2..b366f65 100644
--- a/gdb/windows-termcap.c
+++ b/gdb/windows-termcap.c
@@ -19,6 +19,11 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+
+#include "defs.h"
+
+#if !defined HAVE_CURSES_H && !defined HAVE_NCURSES_H && !defined HAVE_NCURSES_NCURSES_H
+
 #include <stdlib.h>
 
 /* -Wmissing-prototypes */
@@ -71,3 +76,5 @@
 {
   return NULL;
 }
+
+#endif	/* !HAVE_CURSES_H && !HAVE_NCURSES_H && !HAVE_NCURSES_NCURSES_H */
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index ac23875..832ce0b 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-17  Eli Zaretskii  <eliz@gnu.org>
+
+	* strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
+	macros.
+
 2014-12-24  Uros Bizjak  <ubizjak@gmail.com>
 	    Ben Elliston  <bje@au.ibm.com>
 	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
diff --git a/libiberty/strerror.c b/libiberty/strerror.c
index 0efadc3..a8a0bd1 100644
--- a/libiberty/strerror.c
+++ b/libiberty/strerror.c
@@ -469,8 +469,13 @@ struct error_info
 
 #else
 
+
+#ifndef sys_nerr
 extern int sys_nerr;
+#endif
+#ifndef sys_errlist
 extern char *sys_errlist[];
+#endif
 
 #endif
 


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