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]

[patch]: The new cli files are in - use "cvs update -d"


It is in.  I did not add the 10K lines of "-" and "+" caused by the code
moving in this message.  I added the interesting bits, I believe.

Don't forget to use "-d" to get the new files.

Fernando


2000-12-01  Fernando Nasser  <fnasser@redhat.com>

        * cli/cli-decode.c: New file. Handle lists of commands, their decoding
        and documentation.
        (add_cmd, deprecate_cmd, add_abbrev_cmd, add_alias_cmd, add_prefix_cmd,
        add_abbrev_prefix_cmd, not_just_help_class_command, empty_sfunc,
        add_set_cmd, add_set_enum_cmd, add_set_auto_boolean_cmd,
        add_show_from_set, delete_cmd, apropos_cmd, help_cmd, help_list,
        help_all, print_doc_line, help_cmd_list, find_cmd, lookup_cmd_1,
        undef_cmd_error, lookup_cmd, deprecated_cmd_warning,
        lookup_cmd_composition, complete_on_cmdlist, complete_on_enum):
        Moved here from command.c.
        (add_info, add_info_alias, add_com, add_com_alias): Moved here from
        top.c.
        * cli/cli-decode.h: Definitions/declarations for the above.
        * cli/cli-cmds.c: New file.  GDB CLI commands.
        (error_no_arg, info_command, show_command, help_command, show_version, 
        quit_command, pwd_command, cd_command, echo_command, shell_escape,
        make_command, show_user, set_debug, show_debug, init_cmd_lists):
        Moved here from top.c.
        (apropos_command): Moved here from command.c.
        (complete_command, source_command): Moved here (part) from top.c.
        (is_complete_command): New function. Checks if a command is the
        "complete" command.
        (init_cli_cmds): New function. Add commands to the CLI (from code
        previously in top.c.
        * cli/cli-cmds.h: Definitions/declarations for the above.
        * cli/cli-script.c: New file. GDB CLI command scripting.
        (build_command_line, get_command_line, print_command_lines,
        print_command_line, execute_user_command, execute_control_command,
        while_command, if_command, arg_cleanup, setup_user_args, locate_arg,
        insert_args, realloc_body_list, read_next_line,
        recurse_read_control_structure, read_command_lines, free_command_lines,
        do_free_command_lines_cleanup, make_cleanup_free_command_lines,
        validate_comname, user_defined_command, define_command,
        document_command, source_cleanup_lines, do_fclose_cleanup,
        show_user_1): Moved here from top.c.
        (script_from_file): New function. Implements execution of a script
        contained in a file (part of code for the source_command() that used
        to exist in top.c).
        * cli/cli-script.h: Definitions/declarations for the above.
        * cli/cli-setshow.c: New file. Handle set and show GDB CLI commands.
        (parse_auto_binary_operation, parse_binary_operation,
        do_setshow_command, cmd_show_list): Moved here from command.c.
        * cli/cli-setshow.h: Definitions/declarations for the above.
        * top.c: Remove all CLI code, except the command loop.
        (gdb_init): Call init_cli_cmds().
        * command.c: Remove obsolete file.
        * command.h: Mark as DEPRECATED.
        * gdbcmd.h: Ditto.
        * call-cmds.h: Ditto.
        * Makefile.in (SFILES): Remove command.c.
        (COMMON_OBS): Remove command.o.
        (command.o): Remove obsolete target.
        (cli_decode_h, cli_cmds_h, cli_script_h, cli_setshow_h): New macros.
        Refer to CLI header files.
        (cli-decode.o, cli-cmds.o, cli-setshow.o, cli-script.o): New targets.
        (SUBDIR_CLI_OBS, SUBDIR_CLI_SRCS, SUBDIR_CLI_DEPS, SUBDIR_CLI_INITS,
        SUBDIR_CLI_LDFLAGS, SUBDIR_CLI_CFLAGS, SUBDIR_CLI_ALL, SUBDIR_CLI_CLEAN,
        SUBDIR_CLI_INSTALL, SUBDIR_CLI_UNINSTALL): New macros for new cli
        subdirectory.
        * configure.in (enable_gdbcli): New option. Include the CLI in the
        executable (cannot be disabled yet).
        (CONFIG_OBS, CONFIG_DEPS, CONFIG_SRCS, CONFIG_INITS, ENABLE_CFLAGS,
        CONFIG_ALL, CONFIG_CLEAN, CONFIG_INSTALL, CONFIG_UNINSTALL): Add
        the corresponding SUBDIR_CLI_* macros if CLI requested.
        * configure: Regenerate.


Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.48
diff -c -p -r1.48 Makefile.in
*** Makefile.in 2000/12/01 00:41:27     1.48
--- Makefile.in 2000/12/01 16:46:55
*************** INTL_SRC = $(srcdir)/$(INTL_DIR)
*** 135,140 ****
--- 135,156 ----
  INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC)
  
  #
+ # CLI sub directory definitons
+ #
+ SUBDIR_CLI_OBS = \
+       cli-decode.o cli-script.o cli-cmds.o cli-setshow.o
+ SUBDIR_CLI_SRCS = \
+       cli/cli-decode.c cli/cli-script.c cli/cli-cmds.c  cli/cli-setshow.c
+ SUBDIR_CLI_DEPS =
+ SUBDIR_CLI_INITS =
+ SUBDIR_CLI_LDFLAGS=
+ SUBDIR_CLI_CFLAGS=
+ SUBDIR_CLI_ALL=
+ SUBDIR_CLI_CLEAN=
+ SUBDIR_CLI_INSTALL=
+ SUBDIR_CLI_UNINSTALL=
+ 
+ #
  # MI sub directory definitons
  #
  SUBDIR_MI_OBS = \
*************** TARGET_FLAGS_TO_PASS = \
*** 477,483 ****
  SFILES = ax-general.c ax-gdb.c bcache.c blockframe.c breakpoint.c \
        buildsym.c c-exp.y c-lang.c c-typeprint.c c-valprint.c \
        ch-exp.c ch-lang.c ch-typeprint.c ch-valprint.c coffread.c \
!       command.c complaints.c completer.c corefile.c cp-valprint.c dbxread.c \
        demangle.c dwarfread.c dwarf2read.c elfread.c environ.c eval.c \
        event-loop.c event-top.c \
        expprint.c f-exp.y f-lang.c f-typeprint.c f-valprint.c \
--- 493,499 ----
  SFILES = ax-general.c ax-gdb.c bcache.c blockframe.c breakpoint.c \
        buildsym.c c-exp.y c-lang.c c-typeprint.c c-valprint.c \
        ch-exp.c ch-lang.c ch-typeprint.c ch-valprint.c coffread.c \
!       complaints.c completer.c corefile.c cp-valprint.c dbxread.c \
        demangle.c dwarfread.c dwarf2read.c elfread.c environ.c eval.c \
        event-loop.c event-top.c \
        expprint.c f-exp.y f-lang.c f-typeprint.c f-valprint.c \
*************** breakpoint_h =  breakpoint.h $(frame_h) $
*** 548,555 ****
  
  command_h =   command.h
  gdbcmd_h =    gdbcmd.h $(command_h)
- 
  call_cmds_h = call-cmds.h
  xm_h =                @xm_h@
  tm_h =                @tm_h@
  nm_h =                @nm_h@
--- 564,571 ----
  
  command_h =   command.h
  gdbcmd_h =    gdbcmd.h $(command_h)
  call_cmds_h = call-cmds.h
+ 
  xm_h =                @xm_h@
  tm_h =                @tm_h@
  nm_h =                @nm_h@
*************** ui_out_h =      ui-out.h
*** 568,573 ****
--- 584,594 ----
  cli_out_h =   cli-out.h
  arch_utils_h = arch-utils.h
  
+ cli_decode_h =        $(srcdir)/cli/cli-decode.h
+ cli_cmds_h =  $(srcdir)/cli/cli-cmds.h
+ cli_script_h =        $(srcdir)/cli/cli-script.h
+ cli_setshow_h =       $(srcdir)/cli/cli-setshow.h
+ 
  # Header files that need to have srcdir added.  Note that in the cases
  # where we use a macro like $(gdbcmd_h), things are carefully arranged
  # so that each .h file is listed exactly once (M-x tags-search works
*************** TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRC
*** 621,627 ****
  
  COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o regcache.o \
        source.o values.o eval.o valops.o valarith.o valprint.o printcmd.o \
!       symtab.o symfile.o symmisc.o linespec.o infcmd.o infrun.o command.o \
        expprint.o environ.o stack.o thread.o \
        event-loop.o event-top.o inf-loop.o completer.o \
        gdbarch.o arch-utils.o gdbtypes.o copying.o $(DEPFILES) \
--- 642,648 ----
  
  COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o regcache.o \
        source.o values.o eval.o valops.o valarith.o valprint.o printcmd.o \
!       symtab.o symfile.o symmisc.o linespec.o infcmd.o infrun.o \
        expprint.o environ.o stack.o thread.o \
        event-loop.o event-top.o inf-loop.o completer.o \
        gdbarch.o arch-utils.o gdbtypes.o copying.o $(DEPFILES) \
*************** coffread.o: coffread.c $(bfd_h) $(breakp
*** 1214,1221 ****
        symfile.h $(symtab_h) gdb-stabs.h stabsread.h target.h \
        gdb_string.h
  
! command.o: command.c $(defs_h) $(expression_h) $(gdbcmd_h) \
!       $(gdbtypes_h) $(symtab_h) $(value_h) gdb_string.h gdb_wait.h
  
  complaints.o: complaints.c complaints.h $(defs_h) $(gdbcmd_h)
  
--- 1235,1242 ----
        symfile.h $(symtab_h) gdb-stabs.h stabsread.h target.h \
        gdb_string.h
  
! # OBSOLETE command.o: command.c $(defs_h) $(expression_h) $(gdbcmd_h) \
! # OBSOLETE    $(gdbtypes_h) $(symtab_h) $(value_h) gdb_string.h gdb_wait.h
  
  complaints.o: complaints.c complaints.h $(defs_h) $(gdbcmd_h)
  
*************** varobj.o: varobj.c $(defs_h) $(frame_h) 
*** 2012,2017 ****
--- 2033,2064 ----
        $(language_h) valprint.h varobj.h wrapper.h
        $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) $<
  wrapper.o: wrapper.c $(defs_h) $(frame_h) $(value_h) wrapper.h
+ 
+ #
+ # CLI dependencies
+ #
+ # Need to explicitly specify the compile rule as make will do nothing
+ # or try to compile the object file into the cli directory.
+ 
+ cli-decode.o: $(srcdir)/cli/cli-decode.c $(cli_decode_h) \
+               $(cli_cmds_h) $(defs_h) $(ui_out_h) \
+               $(symtab_h) gnu-regex.h
+       $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-decode.c
+ 
+ cli-cmds.o: $(srcdir)/cli/cli-cmds.c  $(cli_cmds_h) $(cli_decode_h) \
+               $(cli_script_h) $(cli_setshow_h) top.h completer.h $(defs_h) \
+               $(target_h) gdb_wait.h gnu-regex.h $(ui_out_h)
+       $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-cmds.c
+ 
+ cli-setshow.o: $(srcdir)/cli/cli-setshow.c $(cli_setshow_h) \
+               $(cli_decode_h) $(cli_cmds_h) $(defs_h) \
+               $(value_h) $(ui_out_h)
+       $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-setshow.c
+ 
+ cli-script.o: $(srcdir)/cli/cli-script.c $(cli_script_h) \
+               $(cli_cmds_h) $(cli_decode_h) top.h \
+               $(defs_h) $(value_h) language.h $(ui_out_h)
+       $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-script.c
  
  #
  # MI dependencies
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.45
diff -c -p -r1.45 configure.in
*** configure.in        2000/11/24 11:02:58     1.45
--- configure.in        2000/12/01 16:46:56
*************** if test ${build} = ${host} -a ${host} = 
*** 460,465 ****
--- 460,499 ----
     AC_SUBST(CONFIG_LDFLAGS)
  fi
  
+ dnl The CLI cannot be disabled yet, but may be in the future  
+ 
+ dnl Handle CLI sub-directory configury.
+ AC_ARG_ENABLE(gdbcli,
+ [  --enable-gdbcli            Enable GDB-CLI interface],
+ [
+   case "${enable_gdbcli}" in
+     yes) ;;
+     "")  enable_gdbcli=yes ;;
+     no) 
+       AC_MSG_ERROR(The CLI cannot be disabled yet)
+     ;;
+     *)
+       AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
+     ;;
+   esac
+ ],
+ [enable_gdbcli=yes])
+ case ${enable_gdbcli} in
+   "yes" )
+     if test -d "${srcdir}/mi" ; then
+       CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_CLI_OBS)"
+       CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_CLI_DEPS)"
+       CONFIG_SRCS="${CONFIG_SRS} \$(SUBDIR_CLI_SRCS)"
+       CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_CLI_INITS)"
+       ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_CLI_CFLAGS)"
+       CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_CLI_ALL)"
+       CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_CLI_CLEAN)"
+       CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_CLI_INSTALL)"
+       CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_CLI_UNINSTALL)"
+     fi
+     ;;
+ esac
+ 
  dnl Handle optional features that can be enabled.
  
  dnl Handle MI sub-directory configury.

--------------------------------------------------------------
The following was added to command.h, gdbcmd.h and call-cmd.h:


/* ***DEPRECATED***  The gdblib files must not be calling/using things in any
   of the possible command languages.  If necessary, a hook (that may be
   present or not) must be used and set to the appropriate routine by any
   command language that cares about it.  If you are having to include this
   file you are possibly doing things the old way.  This file will disapear.
   fnasser@redhat.com    */


-- 
Fernando Nasser
Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9

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