+dnl GUILE_FLAGS --- set flags for compiling and linking with Guile
+dnl
+dnl This macro runs the `guile-config' script, installed with Guile,
+dnl to find out where Guile's header files and libraries are
+dnl installed. It sets two variables, marked for substitution, as
+dnl by AC_SUBST.
+dnl
+dnl GUILE_CFLAGS --- flags to pass to a C or C++ compiler to build
+dnl code that uses Guile header files. This is almost
+dnl always just a -I flag.
+dnl
+dnl GUILE_LDFLAGS --- flags to pass to the linker to link a
+dnl program against Guile. This includes `-lguile' for
+dnl the Guile library itself, any libraries that Guile
+dnl itself requires (like -lqthreads), and so on. It may
+dnl also include a -L flag to tell the compiler where to
+dnl find the libraries.
+
+AC_DEFUN([GUILE_FLAGS],[
+## The GUILE_FLAGS macro.
+ ## First, let's just see if we can find Guile at all.
+ AC_MSG_CHECKING(for Guile)
+ guile-config link > /dev/null || {
+ echo "configure: cannot find guile-config; is Guile installed?" 1>&2
+ exit 1
+ }
+ GUILE_CFLAGS="`guile-config compile`"
+ GUILE_LDFLAGS="`guile-config link`"
+ AC_SUBST(GUILE_CFLAGS)
+ AC_SUBST(GUILE_LDFLAGS)
+ AC_MSG_RESULT(yes)
+])
+