Add Guile as an extension language.
authorDoug Evans <xdje42@gmail.com>
Mon, 10 Feb 2014 03:40:01 +0000 (19:40 -0800)
committerDoug Evans <xdje42@gmail.com>
Mon, 10 Feb 2014 03:40:01 +0000 (19:40 -0800)
commited3ef33944c39d9a3cea72b9a7cef3c20f0e3461
tree4e67d95b8ea65bb36a9cade5e37df2ad6289052e
parent7026a7c16ee82d39e84823f8cc3097a9a940ddb2
Add Guile as an extension language.

* NEWS: Mention Guile scripting.
* Makefile.in (SUBDIR_GUILE_OBS): New variable.
(SUBDIR_GUILE_SRCS, SUBDIR_GUILE_DEPS): New variables
(SUBDIR_GUILE_LDFLAGS, SUBDIR_GUILE_CFLAGS): New variables.
(INTERNAL_CPPFLAGS): Add GUILE_CPPFLAGS.
(CLIBS): Add GUILE_LIBS.
(install-guile): New rule.
(guile.o): New rule.
(scm-arch.o, scm-auto-load.o, scm-block.o): New rules.
(scm-breakpoint.o, scm-disasm.o, scm-exception.o): New rules.
(scm-frame.o, scm-iterator.o, scm-lazy-string.o): New rules.
(scm-math.o, scm-objfile.o, scm-ports.o): New rules.
(scm-pretty-print.o, scm-safe-call.o, scm-gsmob.o): New rules.
(scm-string.o, scm-symbol.o, scm-symtab.o): New rules.
(scm-type.o, scm-utils.o, scm-value.o): New rules.
* configure.ac: New option --with-guile.
* configure: Regenerate.
* config.in: Regenerate.
* auto-load.c: Remove #include "python/python.h".  Add #include
"gdb/section-scripts.h".
(source_section_scripts): Handle Guile scripts.
(_initialize_auto_load): Add name of Guile objfile script to
scripts-directory help text.
* breakpoint.c (condition_command): Tweak comment to include Scheme.
* breakpoint.h (gdbscm_breakpoint_object): Add forward decl.
(struct breakpoint): New member scm_bp_object.
* defs.h (enum command_control_type): New value guile_control.
* cli/cli-cmds.c: Remove #include "python/python.h".  Add #include
"extension.h".
(show_user): Update comment.
(_initialize_cli_cmds): Update help text for "show user".  Update help
text for max-user-call-depth.
* cli/cli-script.c: Remove #include "python/python.h".  Add #include
"extension.h".
(multi_line_command_p): Add guile_control.
(print_command_lines): Handle guile_control.
(execute_control_command, recurse_read_control_structure): Ditto.
(process_next_line): Recognize "guile" commands.
* disasm.c (gdb_disassemble_info): Make non-static.
* disasm.h: #include "dis-asm.h".
(struct gdbarch): Add forward decl.
(gdb_disassemble_info): Declare.
* extension.c: #include "guile/guile.h".
(extension_languages): Add guile.
(get_ext_lang_defn): Handle EXT_LANG_GDB.
* extension.h (enum extension_language): New value EXT_LANG_GUILE.
* gdbtypes.c (get_unsigned_type_max): New function.
(get_signed_type_minmax): New function.
* gdbtypes.h (get_unsigned_type_max): Declare.
(get_signed_type_minmax): Declare.
* guile/README: New file.
* guile/guile-internal.h: New file.
* guile/guile.c: New file.
* guile/guile.h: New file.
* guile/scm-arch.c: New file.
* guile/scm-auto-load.c: New file.
* guile/scm-block.c: New file.
* guile/scm-breakpoint.c: New file.
* guile/scm-disasm.c: New file.
* guile/scm-exception.c: New file.
* guile/scm-frame.c: New file.
* guile/scm-gsmob.c: New file.
* guile/scm-iterator.c: New file.
* guile/scm-lazy-string.c: New file.
* guile/scm-math.c: New file.
* guile/scm-objfile.c: New file.
* guile/scm-ports.c: New file.
* guile/scm-pretty-print.c: New file.
* guile/scm-safe-call.c: New file.
* guile/scm-string.c: New file.
* guile/scm-symbol.c: New file.
* guile/scm-symtab.c: New file.
* guile/scm-type.c: New file.
* guile/scm-utils.c: New file.
* guile/scm-value.c: New file.
* guile/lib/gdb.scm: New file.
* guile/lib/gdb/boot.scm: New file.
* guile/lib/gdb/experimental.scm: New file.
* guile/lib/gdb/init.scm: New file.
* guile/lib/gdb/iterator.scm: New file.
* guile/lib/gdb/printing.scm: New file.
* guile/lib/gdb/types.scm: New file.
* data-directory/Makefile.in (GUILE_SRCDIR): New variable.
(VPATH): Add $(GUILE_SRCDIR).
(GUILE_DIR): New variable.
(GUILE_INSTALL_DIR, GUILE_FILES): New variables.
(all): Add stamp-guile dependency.
(stamp-guile): New rule.
(clean-guile, install-guile, uninstall-guile): New rules.
(install-only): Add install-guile dependency.
(uninstall): Add uninstall-guile dependency.
(clean): Add clean-guile dependency.

doc/
* Makefile.in (GDB_DOC_FILES): Add guile.texi.
* gdb.texinfo (Auto-loading): Add set/show auto-load guile-scripts.
(Extending GDB): New menu entries Guile, Multiple Extension Languages.
(Guile docs): Include guile.texi.
(objfile-gdbdotext file): Add objfile-gdb.scm.
(dotdebug_gdb_scripts section): Mention Guile scripts.
(Multiple Extension Languages): New node.
* guile.texi: New file.

testsuite/
* configure.ac (AC_OUTPUT): Add gdb.guile.
* configure: Regenerate.
* lib/gdb-guile.exp: New file.
* lib/gdb.exp (get_target_charset): New function.
* gdb.base/help.exp: Update expected output from "apropos apropos".
* gdb.guile/Makefile.in: New file.
* gdb.guile/guile.exp: New file.
* gdb.guile/scm-arch.c: New file.
* gdb.guile/scm-arch.exp: New file.
* gdb.guile/scm-block.c: New file.
* gdb.guile/scm-block.exp: New file.
* gdb.guile/scm-breakpoint.c: New file.
* gdb.guile/scm-breakpoint.exp: New file.
* gdb.guile/scm-disasm.c: New file.
* gdb.guile/scm-disasm.exp: New file.
* gdb.guile/scm-equal.c: New file.
* gdb.guile/scm-equal.exp: New file.
* gdb.guile/scm-error.exp: New file.
* gdb.guile/scm-error.scm: New file.
* gdb.guile/scm-frame-args.c: New file.
* gdb.guile/scm-frame-args.exp: New file.
* gdb.guile/scm-frame-args.scm: New file.
* gdb.guile/scm-frame-inline.c: New file.
* gdb.guile/scm-frame-inline.exp: New file.
* gdb.guile/scm-frame.c: New file.
* gdb.guile/scm-frame.exp: New file.
* gdb.guile/scm-generics.exp: New file.
* gdb.guile/scm-gsmob.exp: New file.
* gdb.guile/scm-iterator.c: New file.
* gdb.guile/scm-iterator.exp: New file.
* gdb.guile/scm-math.c: New file.
* gdb.guile/scm-math.exp: New file.
* gdb.guile/scm-objfile-script-gdb.in: New file.
* gdb.guile/scm-objfile-script.c: New file.
* gdb.guile/scm-objfile-script.exp: New file.
* gdb.guile/scm-objfile.c: New file.
* gdb.guile/scm-objfile.exp: New file.
* gdb.guile/scm-ports.exp: New file.
* gdb.guile/scm-pretty-print.c: New file.
* gdb.guile/scm-pretty-print.exp: New file.
* gdb.guile/scm-pretty-print.scm: New file.
* gdb.guile/scm-section-script.c: New file.
* gdb.guile/scm-section-script.exp: New file.
* gdb.guile/scm-section-script.scm: New file.
* gdb.guile/scm-symbol.c: New file.
* gdb.guile/scm-symbol.exp: New file.
* gdb.guile/scm-symtab-2.c: New file.
* gdb.guile/scm-symtab.c: New file.
* gdb.guile/scm-symtab.exp: New file.
* gdb.guile/scm-type.c: New file.
* gdb.guile/scm-type.exp: New file.
* gdb.guile/scm-value-cc.cc: New file.
* gdb.guile/scm-value-cc.exp: New file.
* gdb.guile/scm-value.c: New file.
* gdb.guile/scm-value.exp: New file.
* gdb.guile/source2.scm: New file.
* gdb.guile/types-module.cc: New file.
* gdb.guile/types-module.exp: New file.
114 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/NEWS
gdb/auto-load.c
gdb/breakpoint.h
gdb/cli/cli-cmds.c
gdb/cli/cli-script.c
gdb/config.in
gdb/configure
gdb/configure.ac
gdb/data-directory/Makefile.in
gdb/defs.h
gdb/disasm.c
gdb/disasm.h
gdb/doc/ChangeLog
gdb/doc/Makefile.in
gdb/doc/gdb.texinfo
gdb/doc/guile.texi [new file with mode: 0644]
gdb/extension.c
gdb/extension.h
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/guile/README [new file with mode: 0644]
gdb/guile/guile-internal.h [new file with mode: 0644]
gdb/guile/guile.c [new file with mode: 0644]
gdb/guile/guile.h [new file with mode: 0644]
gdb/guile/lib/gdb.scm [new file with mode: 0644]
gdb/guile/lib/gdb/boot.scm [new file with mode: 0644]
gdb/guile/lib/gdb/experimental.scm [new file with mode: 0644]
gdb/guile/lib/gdb/init.scm [new file with mode: 0644]
gdb/guile/lib/gdb/iterator.scm [new file with mode: 0644]
gdb/guile/lib/gdb/printing.scm [new file with mode: 0644]
gdb/guile/lib/gdb/types.scm [new file with mode: 0644]
gdb/guile/scm-arch.c [new file with mode: 0644]
gdb/guile/scm-auto-load.c [new file with mode: 0644]
gdb/guile/scm-block.c [new file with mode: 0644]
gdb/guile/scm-breakpoint.c [new file with mode: 0644]
gdb/guile/scm-disasm.c [new file with mode: 0644]
gdb/guile/scm-exception.c [new file with mode: 0644]
gdb/guile/scm-frame.c [new file with mode: 0644]
gdb/guile/scm-gsmob.c [new file with mode: 0644]
gdb/guile/scm-iterator.c [new file with mode: 0644]
gdb/guile/scm-lazy-string.c [new file with mode: 0644]
gdb/guile/scm-math.c [new file with mode: 0644]
gdb/guile/scm-objfile.c [new file with mode: 0644]
gdb/guile/scm-ports.c [new file with mode: 0644]
gdb/guile/scm-pretty-print.c [new file with mode: 0644]
gdb/guile/scm-safe-call.c [new file with mode: 0644]
gdb/guile/scm-string.c [new file with mode: 0644]
gdb/guile/scm-symbol.c [new file with mode: 0644]
gdb/guile/scm-symtab.c [new file with mode: 0644]
gdb/guile/scm-type.c [new file with mode: 0644]
gdb/guile/scm-utils.c [new file with mode: 0644]
gdb/guile/scm-value.c [new file with mode: 0644]
gdb/testsuite/ChangeLog
gdb/testsuite/configure
gdb/testsuite/configure.ac
gdb/testsuite/gdb.base/help.exp
gdb/testsuite/gdb.guile/Makefile.in [new file with mode: 0644]
gdb/testsuite/gdb.guile/guile.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-arch.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-arch.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-block.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-block.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-breakpoint.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-breakpoint.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-disasm.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-disasm.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-equal.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-equal.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-error-1.scm [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-error-2.scm [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-error.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-frame-args.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-frame-args.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-frame-args.scm [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-frame-inline.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-frame-inline.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-frame.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-frame.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-generics.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-gsmob.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-iterator.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-iterator.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-math.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-math.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-objfile-script.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-objfile-script.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-objfile.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-objfile.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-ports.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-pretty-print.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-pretty-print.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-pretty-print.scm [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-section-script.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-section-script.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-section-script.scm [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-symbol.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-symbol.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-symtab-2.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-symtab.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-symtab.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-type.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-type.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-value-cc.cc [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-value-cc.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-value.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-value.exp [new file with mode: 0644]
gdb/testsuite/gdb.guile/source2.scm [new file with mode: 0644]
gdb/testsuite/gdb.guile/types-module.cc [new file with mode: 0644]
gdb/testsuite/gdb.guile/types-module.exp [new file with mode: 0644]
gdb/testsuite/lib/gdb-guile.exp [new file with mode: 0644]
gdb/testsuite/lib/gdb.exp