diff options
author | Doug Evans <xdje42@gmail.com> | 2014-06-06 15:57:03 -0700 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2014-06-06 15:57:03 -0700 |
commit | d2929fdcf05bb14dc2484ee6918dbf67c5b46d75 (patch) | |
tree | 031eb52397389646d26efdefa250bc0aa1157334 /gdb/guile/scm-utils.c | |
parent | 6da01dbef2535e333e2b26547d61e4684b8e4da7 (diff) | |
download | gdb-d2929fdcf05bb14dc2484ee6918dbf67c5b46d75.zip gdb-d2929fdcf05bb14dc2484ee6918dbf67c5b46d75.tar.gz gdb-d2929fdcf05bb14dc2484ee6918dbf67c5b46d75.tar.bz2 |
Add support for guile 2.0.5.
* guile/guile-internal.h (gdbscm_guile_major_version): Declare.
(gdbscm_guile_minor_version, gdbscm_guile_micro_version): Declare.
(gdbscm_guile_version_is_at_least): Declare.
(gdbscm_scm_string_to_int): Declare.
* guile/guile.c (gdbscm_guile_major_version): New global.
(gdbscm_guile_minor_version, gdbscm_guile_micro_version): New globals.
(guile_datadir): New static global.
(gdbscm_guile_data_directory): New function.
(initialize_scheme_side): Update.
(misc_guile_functions): Add guile-data-directory.
(initialize_gdb_module): Fetch guile version number.
* guile/lib/gdb.scm: Remove call to add-to-load-path.
* guile/lib/gdb/init.scm (%initialize!): Ditto.
* guile/lib/gdb/boot.scm: Use guile-data-directory.
* guile/scm-exception.c (gdbscm_print_exception_with_stack): Fix
comments.
* guile/scm-string.c (gdbscm_scm_string_to_int): New function.
* guile/scm-utils.c (gdbscm_guile_version_is_at_least): New function.
* guile/scm-value.c (gdbscm_value_to_string): Only call
scm_port_conversion_strategy if Guile version >= 2.0.6.
doc/
* guile.texi (Guile Configuration): Document guile-data-directory.
Diffstat (limited to 'gdb/guile/scm-utils.c')
-rw-r--r-- | gdb/guile/scm-utils.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gdb/guile/scm-utils.c b/gdb/guile/scm-utils.c index 6d9542d..5a17bd9 100644 --- a/gdb/guile/scm-utils.c +++ b/gdb/guile/scm-utils.c @@ -624,3 +624,22 @@ gdbscm_gc_dup_argv (char **argv) return (const char * const *) result; } + +/* Return non-zero if the version of Guile being used it at least + MAJOR.MINOR.MICRO. */ + +int +gdbscm_guile_version_is_at_least (int major, int minor, int micro) +{ + if (major > gdbscm_guile_major_version) + return 0; + if (major < gdbscm_guile_major_version) + return 1; + if (minor > gdbscm_guile_minor_version) + return 0; + if (minor < gdbscm_guile_minor_version) + return 1; + if (micro > gdbscm_guile_micro_version) + return 0; + return 1; +} |