[patch 1/2] Drop gdbtui [+doc changes]

Jan Kratochvil
2011-12-21T22:36:21Z

On Wed, 21 Dec 2011 18:25:28 +0100, Tom Tromey wrote:
> >>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
>
> Jan> I understand the Joel's proposal as dropping gdbtui entirely and
> Jan> everywhere, so that users will notice it.
>
> It would be fine by me.

Here it is.

I will check it in in a day or so.

Thanks,
Jan

gdb/
2011-12-21 Jan Kratochvil <jan.kratochvil@redhat.com>

Remove the gdbtui binary.
* .gitignore (/gdbtui): Remove.
* Makefile.in (TUI): Remove.
(SUBDIR_TUI_OBS): Remove tui-main.o.
(SUBDIR_TUI_SRCS): Remove tui/tui-main.c.
(all-tui, install-tui, uninstall-tui, $(TUI)$(EXEEXT), clean-tui)
(tui-main.o): Remove.
(all_object_files): Remove tui-main.o.
* NEWS: New note for the gdbtui removal.
* configure: Rebuilt.
* configure.ac: No longer add all-tui, clean-tui, install-tui and
uninstall-tui to CONFIG_ALL, CONFIG_CLEAN, CONFIG_INSTALL and
CONFIG_UNINSTALL respectively.
* gdb.c (main): Remove args.interpreter_p initialization.
* main.c (captured_main): Set INTERPRETER_P directly by INTERP_CONSOLE.
* main.h (struct captured_main_args): Remove interpreter_p.
* tui/tui-main.c: Remove.

gdb/doc/
2011-12-21 Jan Kratochvil <jan.kratochvil@redhat.com>

Remove the gdbtui binary.
* all-cfg.texi (GDBTUI): Remove.
* gdb.texinfo (Mode Options): Remove the GDBTUI reference.
(TUI): Remove GDBTUI pindex. Remove the GDBTUI reference.
* gdbint.texinfo (Testsuite): Replace `gdbtui' by `gdb -tui'.

--- a/gdb/.gitignore
+++ b/gdb/.gitignore
@@ -7,7 +7,6 @@
/cp-name-parser.c
/f-exp.c
/gdb
-/gdbtui
/init.c
/jv-exp.c
/m2-exp.c
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -224,9 +224,6 @@ SUBDIR_MI_CFLAGS=
# TUI sub directory definitions
#

-# Name of the TUI program
-TUI=gdbtui
-
SUBDIR_TUI_OBS = \
tui-command.o \
tui-data.o \
@@ -237,7 +234,6 @@ SUBDIR_TUI_OBS = \
tui-io.o \
tui-layout.o \
tui-out.o \
- tui-main.o \
tui-regs.o \
tui-source.o \
tui-stack.o \
@@ -256,7 +252,6 @@ SUBDIR_TUI_SRCS = \
tui/tui-interp.c \
tui/tui-io.c \
tui/tui-layout.c \
- tui/tui-main.c \
tui/tui-out.c \
tui/tui-regs.c \
tui/tui-source.c \
@@ -960,8 +955,6 @@ generated_files = config.h observer.h observer.inc ada-lex.c jit-reader.h \

all: gdb$(EXEEXT) $(CONFIG_ALL)
@$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
-.PHONY: all-tui
-all-tui: $(TUI)$(EXEEXT)

installcheck:

@@ -1040,22 +1033,6 @@ install-only: $(CONFIG_INSTALL)
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir)/gdb ; \
$(INSTALL_DATA) jit-reader.h $(DESTDIR)$(includedir)/gdb/jit-reader.h
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
-.PHONY: install-tui
-install-tui:
- transformed_name=`t='$(program_transform_name)'; \
- echo $(TUI) | sed -e "$$t"` ; \
- if test "x$$transformed_name" = x; then \
- transformed_name=$(TUI) ; \
- else \
- true ; \
- fi ; \
- $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
- $(INSTALL_PROGRAM) $(TUI)$(EXEEXT) \
- $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
- $(SHELL) $(srcdir)/../mkinstalldirs \
- $(DESTDIR)$(man1dir) ; \
- $(INSTALL_DATA) $(srcdir)/gdb.1 \
- $(DESTDIR)$(man1dir)/$$transformed_name.1

install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
@@ -1071,17 +1048,6 @@ uninstall: force $(CONFIG_UNINSTALL)
rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \
$(DESTDIR)$(man1dir)/$$transformed_name.1
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
-.PHONY: uninstall-tui
-uninstall-tui:
- transformed_name=`t='$(program_transform_name)'; \
- echo $(TUI) | sed -e $$t` ; \
- if test "x$$transformed_name" = x; then \
- transformed_name=$(TUI) ; \
- else \
- true ; \
- fi ; \
- rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \
- $(DESTDIR)$(man1dir)/$$transformed_name.1

# The C++ name parser can be built standalone for testing.
test-cp-name-parser.o: cp-name-parser.c
@@ -1185,12 +1151,6 @@ gdb$(EXEEXT): gdb.o libgdb.a $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
-o gdb$(EXEEXT) gdb.o libgdb.a \
$(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)

-$(TUI)$(EXEEXT): tui-main.o libgdb.a $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
- rm -f $(TUI)$(EXEEXT)
- $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
- -o $(TUI)$(EXEEXT) tui-main.o libgdb.a \
- $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
-
# Convenience rule to handle recursion.
$(LIBGNU) $(GNULIB_H): all-lib
all-lib: gnulib/Makefile
@@ -1251,10 +1211,6 @@ clean mostlyclean: $(CONFIG_CLEAN)
rm -f xml-builtin.c stamp-xml
rm -f $(DEPDIR)/*

-.PHONY: clean-tui
-clean-tui:
- rm -f $(TUI)$(EXEEXT)
-
# This used to depend on c-exp.c m2-exp.c TAGS
# I believe this is wrong; the makefile standards for distclean just
# describe removing files; the only sort of "re-create a distribution"
@@ -2020,10 +1976,6 @@ tui-layout.o: $(srcdir)/tui/tui-layout.c
$(COMPILE) $(srcdir)/tui/tui-layout.c
$(POSTCOMPILE)

-tui-main.o: $(srcdir)/tui/tui-main.c
- $(COMPILE) $(srcdir)/tui/tui-main.c
- $(POSTCOMPILE)
-
tui-out.o: $(srcdir)/tui/tui-out.c
$(COMPILE) $(srcdir)/tui/tui-out.c
$(POSTCOMPILE)
@@ -2205,7 +2157,7 @@ py-value.o: $(srcdir)/python/py-value.c

# A list of all the objects we might care about in this build, for
# dependency tracking.
-all_object_files = gdb.o tui-main.o $(LIBGDB_OBS) gdbtk-main.o \
+all_object_files = gdb.o $(LIBGDB_OBS) gdbtk-main.o \
test-cp-name-parser.o

# Ensure that generated files are created early. Use order-only
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -6,6 +6,8 @@
* GDBserver now supports stdio connections.
E.g. (gdb) target remote | ssh myhost gdbserver - hello

+* The binary "gdbtui" has been removed. Use "gdb -tui" instead.
+
*** Changes in GDB 7.4

* GDB now handles ambiguous linespecs more consistently; the existing
--- a/gdb/configure
+++ b/gdb/configure
@@ -9770,10 +9770,6 @@ if test x"$enable_tui" != xno; then
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
- CONFIG_ALL="${CONFIG_ALL} all-tui"
- CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
- CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
- CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
else
if test x"$enable_tui" = xyes; then
as_fn_error "no enhanced curses library found; disable TUI" "$LINENO" 5
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -545,10 +545,6 @@ if test x"$enable_tui" != xno; then
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
- CONFIG_ALL="${CONFIG_ALL} all-tui"
- CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
- CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
- CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
else
if test x"$enable_tui" = xyes; then
AC_MSG_ERROR([no enhanced curses library found; disable TUI])
--- a/gdb/doc/all-cfg.texi
+++ b/gdb/doc/all-cfg.texi
@@ -31,9 +31,6 @@
@c Name of GDB program. Used also for (gdb) prompt string.
@set GDBP gdb
@c
-@c Name of GDBTUI program.
-@set GDBTUI gdbtui
-@c
@c Name of GDB product. Used in running text.
@set GDBN @sc{gdb}
@c
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -1181,10 +1181,9 @@ Run using @var{device} for your program's standard input and output.
Activate the @dfn{Text User Interface} when starting. The Text User
Interface manages several text windows on the terminal, showing
source, assembly, registers and @value{GDBN} command outputs
-(@pxref{TUI, ,@value{GDBN} Text User Interface}). Alternatively, the
-Text User Interface can be enabled by invoking the program
-@samp{@value{GDBTUI}}. Do not use this option if you run @value{GDBN} from
-Emacs (@pxref{Emacs, ,Using @value{GDBN} under @sc{gnu} Emacs}).
+(@pxref{TUI, ,@value{GDBN} Text User Interface}). Do not use this
+option if you run @value{GDBN} from Emacs (@pxref{Emacs, ,
+Using @value{GDBN} under @sc{gnu} Emacs}).

@c @item -xdb
@c @cindex @code{--xdb}
@@ -24932,9 +24931,8 @@ commands in separate text windows. The TUI mode is supported only
on platforms where a suitable version of the @code{curses} library
is available.

-@pindex @value{GDBTUI}
The TUI mode is enabled by default when you invoke @value{GDBN} as
-either @samp{@value{GDBTUI}} or @samp{@value{GDBP} -tui}.
+@samp{@value{GDBP} -tui}.
You can also switch in and out of TUI mode while @value{GDBN} runs by
using various TUI commands and key bindings, such as @kbd{C-x C-a}.
@xref{TUI Keys, ,TUI Key Bindings}.
--- a/gdb/doc/gdbint.texinfo
+++ b/gdb/doc/gdbint.texinfo
@@ -7690,7 +7690,7 @@ make check RUNTESTFLAGS="GDB=/usr/bin/gdb GDBSERVER=/usr/bin/gdbserver"
When running the testsuite normally one doesn't want whatever is in
@file{~/.gdbinit} to interfere with the tests, therefore the test harness
passes @option{-nx} to @value{GDBN}. One also doesn't want any windowed
-version of @value{GDBN}, e.g., @command{gdbtui}, to run.
+version of @value{GDBN}, e.g., @command{gdb -tui}, to run.
This is achieved via @code{INTERNAL_GDBFLAGS}.

@smallexample
--- a/gdb/gdb.c
+++ b/gdb/gdb.c
@@ -31,6 +31,5 @@ main (int argc, char **argv)
args.argc = argc;
args.argv = argv;
args.use_windows = 0;
- args.interpreter_p = INTERP_CONSOLE;
return gdb_main (&args);
}
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -380,7 +380,7 @@ captured_main (void *data)
this captured main, or one specified by the user at start up, or
the console. Initialize the interpreter to the one requested by
the application. */
- interpreter_p = xstrdup (context->interpreter_p);
+ interpreter_p = xstrdup (INTERP_CONSOLE);

/* Parse arguments and options. */
{
--- a/gdb/main.h
+++ b/gdb/main.h
@@ -26,7 +26,6 @@ struct captured_main_args
int argc;
char **argv;
int use_windows;
- const char *interpreter_p;
};

extern int gdb_main (struct captured_main_args *);
--- a/gdb/tui/tui-main.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Main function for TUI gdb.
-
- Copyright (C) 2002, 2004, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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"
-#include "main.h"
-#include "gdb_string.h"
-#include "interps.h"
-
-int
-main (int argc, char **argv)
-{
- struct captured_main_args args;
-
- memset (&args, 0, sizeof args);
- args.argc = argc;
- args.argv = argv;
- args.use_windows = 0;
- args.interpreter_p = INTERP_TUI;
- return gdb_main (&args);
-}