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]

Re: [patch/rfc] "tui"


Hello,

This modifies the build machinery so that the program "tui" is built. "tui" starts up GDB's TUI (or Text User Interface). Alternative program names include "tgdb", "gdbtui", ...

Comments? Otherwize look to commit it round 16th Feb.

Here's the revised version, with the name "gdbtui", that I've committed. This just leaves doco ...


Andrew

2004-02-10 Andrew Cagney <cagney@redhat.com>

	* configure.in: Add TUI target to CONFIG_ALL, CONFIG_CLEAN,
	CONFIG_INSTALL and CONFIG_UNINSTALL.
	* configure: Re-generate.
	* interps.h (INTERP_TUI): Define.
	* Makefile.in (tui-main.o): Specify dependencies.
	(install-tui, uninstall-tui, clean-tui, all-tui): New rules.
	* tui/tui-main.c: New file.

2004-02-18  Andrew Cagney  <cagney@redhat.com>

	* configure.in: Add a TUI target to CONFIG_ALL, CONFIG_CLEAN,
	CONFIG_INSTALL and CONFIG_UNINSTALL.
	* configure: Re-generate.
	* interps.h (INTERP_TUI): Define.
	* Makefile.in: Update dependencies.
	(TUI): New macro.
	(tui-main.o): Specify dependencies.
	(install-tui, uninstall-tui, clean-tui, all-tui): New rules.
	* tui/tui-main.c: New file.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.507
diff -u -r1.507 Makefile.in
--- Makefile.in	18 Feb 2004 04:17:34 -0000	1.507
+++ Makefile.in	18 Feb 2004 18:49:07 -0000
@@ -179,6 +179,10 @@
 #
 # TUI sub directory definitions
 #
+
+# Name of the TUI program
+TUI=gdbtui
+
 SUBDIR_TUI_OBS = \
 	tui-command.o \
 	tui-data.o \
@@ -638,8 +642,8 @@
 cp_support_h = cp-support.h $(symtab_h)
 dcache_h = dcache.h
 defs_h = defs.h $(config_h) $(ansidecl_h) $(gdb_locale_h) $(gdb_signals_h) \
-	$(libiberty_h) $(bfd_h) $(ui_file_h) $(xm_h) $(nm_h) \
-	$(tm_h) $(fopen_same_h) $(gdbarch_h)
+	$(libiberty_h) $(bfd_h) $(ui_file_h) $(xm_h) $(nm_h) $(tm_h) \
+	$(fopen_same_h) $(gdbarch_h)
 dictionary_h = dictionary.h
 disasm_h = disasm.h
 doublest_h = doublest.h $(floatformat_h)
@@ -932,6 +936,8 @@
 
 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:
 
@@ -975,6 +981,23 @@
 		$(INSTALL_DATA) $(srcdir)/gdb.1 \
 			$(DESTDIR)$(man1dir)/$$transformed_name.1
 	@$(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
+
 
 uninstall: force $(CONFIG_UNINSTALL)
 	transformed_name=`t='$(program_transform_name)'; \
@@ -987,6 +1010,17 @@
 		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
 
 # We do this by grepping through sources.  If that turns out to be too slow,
 # maybe we could just require every .o file to have an initialization routine
@@ -1081,6 +1115,12 @@
 		-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)
+
 nlm:	force
 	rootme=`pwd`; export rootme; $(MAKE) $(TARGET_FLAGS_TO_PASS) DO=all DODIRS=nlm subdir_do
 
@@ -1145,6 +1185,9 @@
 	rm -f init.c version.c
 	rm -f gdb$(EXEEXT) core make.log
 	rm -f gdb[0-9]$(EXEEXT)
+.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
@@ -2179,11 +2222,11 @@
 s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) $(inferior_h) \
 	$(s390_tdep_h)
 s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \
-	$(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(symfile_h) \
-	$(objfiles_h) $(tm_h) $(__bfd_bfd_h) $(floatformat_h) $(regcache_h) \
-	$(trad_frame_h) $(frame_base_h) $(frame_unwind_h) \
-	$(reggroups_h) $(regset_h) $(value_h) $(gdb_assert_h) $(dis_asm_h) \
-	$(solib_svr4_h) $(s390_tdep_h)
+	$(symtab_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(objfiles_h) \
+	$(tm_h) $(__bfd_bfd_h) $(floatformat_h) $(regcache_h) \
+	$(trad_frame_h) $(frame_base_h) $(frame_unwind_h) $(reggroups_h) \
+	$(regset_h) $(value_h) $(gdb_assert_h) $(dis_asm_h) $(solib_svr4_h) \
+	$(s390_tdep_h)
 scm-exp.o: scm-exp.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
 	$(parser_defs_h) $(language_h) $(value_h) $(c_lang_h) $(scm_lang_h) \
 	$(scm_tags_h)
@@ -2764,6 +2807,9 @@
 	$(tui_wingeneral_h) $(tui_stack_h) $(tui_regs_h) $(tui_win_h) \
 	$(tui_winsource_h) $(tui_disasm_h) $(gdb_string_h) $(gdb_curses_h)
 	$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-layout.c
+tui-main.o: $(srcdir)/tui/tui-main.c $(defs_h) $(main_h) $(gdb_string_h) \
+	$(interps_h)
+	$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-main.c
 tui-out.o: $(srcdir)/tui/tui-out.c $(defs_h) $(ui_out_h) $(tui_h) \
 	$(gdb_string_h) $(gdb_assert_h)
 	$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/tui/tui-out.c
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.146
diff -u -r1.146 configure.in
--- configure.in	16 Feb 2004 19:33:42 -0000	1.146
+++ configure.in	18 Feb 2004 18:49:21 -0000
@@ -163,6 +163,10 @@
       CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
       CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
       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"
     fi
   fi
 fi
Index: interps.h
===================================================================
RCS file: /cvs/src/src/gdb/interps.h,v
retrieving revision 1.5
diff -u -r1.5 interps.h
--- interps.h	7 Aug 2003 17:47:41 -0000	1.5
+++ interps.h	18 Feb 2004 18:49:23 -0000
@@ -71,5 +71,6 @@
 #define INTERP_MI2             "mi2"
 #define INTERP_MI3             "mi3"
 #define INTERP_MI		"mi"
+#define INTERP_TUI		"tui"
 
 #endif
Index: tui/tui-main.c
===================================================================
RCS file: tui/tui-main.c
diff -N tui/tui-main.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ tui/tui-main.c	18 Feb 2004 18:49:29 -0000
@@ -0,0 +1,37 @@
+/* Main function for TUI gdb.
+
+   Copyright 2002, 2004 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 2 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, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#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);
+}

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