Here are some changes from Fink
http://fink.cvs.sourceforge.net/fink/dists/10.7/stable/main/finkinfo/languages/guile18.info
diff -ruN guile-1.8.7-orig/guile-readline/Makefile.in guile-1.8.7/guile-readline/Makefile.in
--- guile-1.8.7-orig/guile-readline/Makefile.in	2010-07-15 21:53:16.000000000 +0200
+++ guile-1.8.7/guile-readline/Makefile.in	2010-07-15 21:53:49.000000000 +0200
@@ -277,7 +277,7 @@
 lib_LTLIBRARIES = libguilereadline-v-@LIBGUILEREADLINE_MAJOR@.la
 libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_SOURCES = readline.c
 libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD = ../libguile/libguile.la
-libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LDFLAGS = -version-info @LIBGUILEREADLINE_INTERFACE@ -export-dynamic -no-undefined
+libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LDFLAGS = -version-info @LIBGUILEREADLINE_INTERFACE@ -module -no-undefined
 BUILT_SOURCES = readline.x
 pkginclude_HEADERS = readline.h
 snarfcppopts = $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
diff -ruN guile-1.8.7-orig/srfi/Makefile.in guile-1.8.7/srfi/Makefile.in
--- guile-1.8.7-orig/srfi/Makefile.in	2010-07-15 21:53:16.000000000 +0200
+++ guile-1.8.7/srfi/Makefile.in	2010-07-15 21:53:49.000000000 +0200
@@ -360,16 +360,16 @@
 BUILT_SOURCES = srfi-1.x srfi-4.x srfi-13.x srfi-14.x srfi-60.x
 libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_SOURCES = srfi-1.x srfi-1.c
 libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_LIBADD = ../libguile/libguile.la
-libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_LDFLAGS = -no-undefined -export-dynamic -version-info @LIBGUILE_SRFI_SRFI_1_INTERFACE@
+libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_LDFLAGS = -no-undefined -module -version-info @LIBGUILE_SRFI_SRFI_1_INTERFACE@
 libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_SOURCES = srfi-4.x srfi-4.c
 libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_LIBADD = ../libguile/libguile.la
-libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_LDFLAGS = -no-undefined -export-dynamic -version-info @LIBGUILE_SRFI_SRFI_4_INTERFACE@
+libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_LDFLAGS = -no-undefined -module -version-info @LIBGUILE_SRFI_SRFI_4_INTERFACE@
 libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_SOURCES = srfi-13.x srfi-13.c srfi-14.x srfi-14.c
 libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_LIBADD = ../libguile/libguile.la
-libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_LDFLAGS = -no-undefined -export-dynamic -version-info @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@
+libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_LDFLAGS = -no-undefined -module -version-info @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@
 libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_SOURCES = srfi-60.x srfi-60.c
 libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_LIBADD = ../libguile/libguile.la
-libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_LDFLAGS = -no-undefined -export-dynamic -version-info @LIBGUILE_SRFI_SRFI_60_INTERFACE@
+libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_LDFLAGS = -no-undefined -module -version-info @LIBGUILE_SRFI_SRFI_60_INTERFACE@
 srfidir = $(datadir)/guile/$(GUILE_EFFECTIVE_VERSION)/srfi
 srfi_DATA = srfi-1.scm \
             srfi-2.scm \
--- guile-1.8.8/libguile/Makefile.in~	2010-12-13 20:29:39.000000000 +0100
+++ guile-1.8.8/libguile/Makefile.in	2014-04-02 10:29:34.000000000 +0200
@@ -2158,6 +2158,8 @@
 .c.doc:
 	-$(AWK) -f ./guile-func-name-check $<
 	(./guile-snarf-docs $(snarfcppopts) $< | \
+	   sed -e 's|ENDL|\
+|g' -e '/^#/d' | \
 	./guile_filter_doc_snarfage$(EXEEXT) --filter-snarfage) > $@ || { rm $@; false; }
 
 $(DOT_X_FILES) $(EXTRA_DOT_X_FILES): scmconfig.h snarf.h guile-snarf.in
--- guile-1.8.8/libguile/guile-snarf.in~	2010-12-13 18:24:40.000000000 +0100
+++ guile-1.8.8/libguile/guile-snarf.in	2014-04-02 09:17:20.000000000 +0200
@@ -50,7 +50,8 @@
     ## Apparently, AIX's preprocessor is unhappy if you try to #include an
     ## empty file.
     echo "/* cpp arguments: $@ */" ;
-    ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true
+    ${cpp} -P -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" | sed -e 's|ENDL|\
+|g' > ${temp} && cpp_ok_p=true
     grep "^ *\^ *\^" ${temp} | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
 }
 
--- guile-1.8.8/libguile/snarf.h~	2010-12-13 18:24:40.000000000 +0100
+++ guile-1.8.8/libguile/snarf.h	2014-04-01 14:46:36.000000000 +0200
@@ -51,14 +51,14 @@
 
 #ifdef SCM_MAGIC_SNARF_INITS
 # define SCM_SNARF_HERE(X)
-# define SCM_SNARF_INIT(X) ^^ X ^:^
+# define SCM_SNARF_INIT(x) ENDL^^ x ^:^
 # define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
 #else
 # ifdef SCM_MAGIC_SNARF_DOCS
 #  define SCM_SNARF_HERE(X)
 #  define SCM_SNARF_INIT(X)
 #  define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
-^^ { \
+ENDL^^ { \
 cname CNAME ^^ \
 fname FNAME ^^ \
 type TYPE ^^ \
@@ -272,7 +272,7 @@
 
 #ifdef SCM_MAGIC_SNARF_DOCS
 #undef SCM_ASSERT
-#define SCM_ASSERT(_cond, _arg, _pos, _subr) ^^ argpos _arg _pos __LINE__ ^^
+#define SCM_ASSERT(_cond, _arg, _pos, _subr) ENDL^^ argpos _arg _pos __LINE__ ^^
 #endif /* SCM_MAGIC_SNARF_DOCS */
 
 #endif  /* SCM_SNARF_H */
