+2013-09-30 Paul Smith <psmith@gnu.org>
+
+ * guile.c: Portability fixes for Guile 1.8.
+
2013-09-29 Paul Smith <psmith@gnu.org>
* output.c (output_dump): Always write Enter/Leave messages to stdio.
It also builds with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as
with .NET 7.x and .NET 2003.
-As of version 3.83, a build with Guile is supported (tested with Guile
+As of version 4.0, a build with Guile is supported (tested with Guile
2.0.3). To build with Guile, you will need, in addition to Guile
itself, its dependency libraries and the pkg-config program. The
latter is used to figure out which compilation and link switches and
/* Pre-2.0 versions of Guile don't have a typedef for gsubr function types. */
#if SCM_MAJOR_VERSION < 2
-# define GSUBR_TYPE SCM (*) ()
+# define GSUBR_TYPE SCM (*) ()
/* Guile 1.x doesn't really support i18n. */
-# define scm_from_utf8_string(_s) (_s)
+# define EVAL_STRING(_s) scm_c_eval_string (_s)
#else
-# define GSUBR_TYPE scm_t_subr
+# define GSUBR_TYPE scm_t_subr
+# define EVAL_STRING(_s) scm_eval_string (scm_from_utf8_string (_s))
#endif
static SCM make_mod = SCM_EOL;
static void *
internal_guile_eval (void *arg)
{
- return cvt_scm_to_str (scm_eval_string (scm_from_utf8_string (arg)));
+ return cvt_scm_to_str (EVAL_STRING (arg));
}
/* This is the function registered with make */
# Verify that re-exec / recursion doesn't duplicate flags from GNUMAKEFLAGS
-$extraENV{GNUMAKEFLAGS} = '-I/tmp -Oline';
+unlink('x.mk');
+
+$extraENV{GNUMAKEFLAGS} = '-Itst/bad -Oline';
run_make_test(q!
recurse: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; #MAKEPATH# -f #MAKEFILE# all
-include x.mk
x.mk: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; echo > $@
!,
- "", "x.mk\nMAKEFLAGS = -I/tmp -Oline\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -I/tmp -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -I/tmp -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n");
+ "", "x.mk\nMAKEFLAGS = -Itst/bad -Oline\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -Itst/bad -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -Itst/bad -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n");
unlink('x.mk');