aboutsummaryrefslogtreecommitdiff
path: root/gdb/main.c
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1994-07-28 22:07:02 +0000
committerStu Grossman <grossman@cygnus>1994-07-28 22:07:02 +0000
commit754e5da26e5fb9374d6768188944fbca8d49d37c (patch)
treeb875074ed1ccedc6d761f8dab2eb4b47091bc0f4 /gdb/main.c
parentb98612f1fd9f751389044d28cfa5e66fbf2f1a7f (diff)
downloadgdb-754e5da26e5fb9374d6768188944fbca8d49d37c.zip
gdb-754e5da26e5fb9374d6768188944fbca8d49d37c.tar.gz
gdb-754e5da26e5fb9374d6768188944fbca8d49d37c.tar.bz2
* Makefile.in (INSTALLED_LIBS, CLIBS, DEPFILES): Add support for
--enable-xxx configure option by adding ENABLE_{CLIBS DEPFILES} where appropriate. * General hackery to support alternate user-interface. * breakpoint.c (mention, delete_breakpoint, enable_breakpoint, disable_breakpoint): Call hooks for alternate user-interface. * defs.h: Add declarations for alternate user-interface hooks. * main.c (main): Add --nw (and --nowindows) options to disable the GUI. * (near call to command_loop): Call command_loop_hook if set. * (fputs_unfiltered): Call fputs_unfiltered_hook if set. * stack.c: Call print_frame_info_listing_hook if set. * top.c (gdb_init): Initialize targets.c and utils.c prior to other files to make sure that calls to error and warning will work. Call init_ui_hook after everything else. * utils.c (query): Call query_hook if set. * (gdb_flush): Call flush_hook if set. * Change _initialize_utils to initialize_utils cuz we don't use automatic initialization of utils.c anymore. * Support for TK GUI. * Makefile.in: Add rule for gdbtk.o. * configure.in: Add support for --enable-gdbtk. * gdbtk.c: New file. Contains support routines for TK interface. * gdbtk.tcl: New file. Implements GUI policy. * remote.c: Get rid of #ifdef DONT_USE_REMOTE. It's no longer necessary.
Diffstat (limited to 'gdb/main.c')
-rw-r--r--gdb/main.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/gdb/main.c b/gdb/main.c
index ce21c83..e7c8070 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -174,6 +174,8 @@ main (argc, argv)
{"tty", required_argument, 0, 't'},
{"baud", required_argument, 0, 'b'},
{"b", required_argument, 0, 'b'},
+ {"nw", no_argument, &no_windows, 1},
+ {"nowindows", no_argument, &no_windows, 1},
/* Allow machine descriptions to add more options... */
#ifdef ADDITIONAL_OPTIONS
ADDITIONAL_OPTIONS
@@ -350,6 +352,7 @@ Options:\n\
-b BAUDRATE Set serial port baud rate used for remote debugging.\n\
--mapped Use mapped symbol files if supported on this system.\n\
--readnow Fully read symbol files on first access.\n\
+ --nw Do not use a window interface.\n\
", gdb_stdout);
/* start-sanitize-mpw */
#endif /* MPW_C */
@@ -410,7 +413,7 @@ GDB manual (available as on-line info or a printed manual).\n", gdb_stdout);
stat (gdbinit, &cwdbuf); /* We'll only need this if
homedir was set. */
}
-
+
/* Now perform all the actions indicated by the arguments. */
if (cdarg != NULL)
{
@@ -526,18 +529,13 @@ GDB manual (available as on-line info or a printed manual).\n", gdb_stdout);
if (!SET_TOP_LEVEL ())
{
do_cleanups (ALL_CLEANUPS); /* Do complete cleanup */
-/* start-sanitize-mpw */
-#ifdef MPW
- /* If we're being a Mac application, go into a Mac-specific
- event-handling loop instead. We still want to be inside
- the outer loop, because that will catch longjmps resulting
- from some command executions. */
- if (mac_app)
- mac_command_loop ();
+ /* GUIs generally have their own command loop, mainloop, or whatever.
+ This is a good place to gain control because many error
+ conditions will end up here via longjmp(). */
+ if (command_loop_hook)
+ command_loop_hook ();
else
-#endif /* MPW */
-/* end-sanitize-mpw */
- command_loop ();
+ command_loop ();
quit_command ((char *)0, instream == stdin);
}
}
@@ -570,5 +568,11 @@ fputs_unfiltered (linebuffer, stream)
const char *linebuffer;
FILE *stream;
{
+ if (fputs_unfiltered_hook)
+ {
+ fputs_unfiltered_hook (linebuffer);
+ return;
+ }
+
fputs (linebuffer, stream);
}