-
-/*
- TODO: the GH interface is deprecated as of GUILE 1.6
-
- Remove all gh_XXX functions.
- */
-#include <guile/gh.h>
-
-
-/* GUILE only includes version in headers (libguile/version.h) as of
- 1.5.x. For some strange reason, they call it SCM.*VERSION.
-
- Not including config.h here, saves a lot of unnecessary
- recompiles. */
-#include <libguile.h>
-
-#ifndef GUILE_MAJOR_VERSION
-#ifdef SCM_MAJOR_VERSION
-#define GUILE_MAJOR_VERSION SCM_MAJOR_VERSION
-#define GUILE_MINOR_VERSION SCM_MINOR_VERSION
-#define GUILE_PATCH_LEVEL SCM_MICRO_VERSION
-#else
-#include "config.h"
-#endif
-#endif
-
-#include "drul-array.hh"
-
-/* Guile 1.4.x compatibility */
-#if GUILE_MINOR_VERSION < 5
-
-#define scm_t_bits scm_bits_t
-
-#define fix_guile_1_4_gh_scm2newstr(str, lenp) gh_scm2newstr (str, (int*)lenp)
-#define gh_scm2newstr(str, lenp) fix_guile_1_4_gh_scm2newstr (str, lenp)
-
-#define fix_guile_1_4_scm_primitive_eval(form) scm_eval_3 (form, 1, SCM_EOL)
-#define scm_primitive_eval(form) fix_guile_1_4_scm_primitive_eval (form)
-
-#define scm_current_module() (SCM)0
-#define scm_set_current_module(x) (void)x
-#define scm_c_resolve_module(x) (SCM)0
-
-inline SCM scm_c_make_vector (int k, SCM val) {
- return scm_make_vector (SCM_MAKINUM (k), val);
-}
-#define scm_c_define_gsubr scm_make_gsubr
-#define scm_c_eval_string(str) gh_eval_str ((char*)str)
-
-#define scm_gc_protect_object scm_protect_object
-#define scm_gc_unprotect_object scm_unprotect_object
-#define scm_list_n scm_listify
-#define SCM_STRING_CHARS SCM_CHARS
-#define SCM_STRING_LENGTH SCM_LENGTH
-#define SCM_SYMBOL_CHARS SCM_CHARS
-#define SCM_SYMBOL_LENGTH SCM_LENGTH
-#define SCM_VECTOR_LENGTH SCM_LENGTH
-
-#define SMOB_FREE_RETURN_VAL(CL) sizeof(CL)
-#define scm_done_free(x)
-#endif
-
-#ifndef SMOB_FREE_RETURN_VAL
-#define SMOB_FREE_RETURN_VAL(CL) 0