I have a hopefully more robust solution in my branch (namely in patch-7
and patch-8). Basically, it heavily relies on Autoconf substitution to
produce an accurate `guile-test-env' script, and it uses Libtool's
`execute' mode rather than playing tricks with `$LDTL_LIBRARY_PATH'.
That solves the problem and 'make check' now works with guile in a non-standard prefix. There is still an issue when the build tree is outside the source tree (as happens in 'make distcheck' or if you run 'mkdir build; cd build; ../configure'). I can get 'make check' to work in such cases by changing a couple of 'srcdir's to 'builddir's:
* looking for address@hidden/g-wrap--devo--2.0--patch-8 to compare with
* comparing to address@hidden/g-wrap--devo--2.0--patch-8
M guile/test/test-enumeration
M guile/test/test-wct
M guile/test/guile-
test-env.inM guile/test/test-standard
M guile/test/test-compat
* modified files
--- orig/guile/test/guile-
test-env.in
+++ mod/guile/test/guile-
test-env.in@@ -1,9 +1,9 @@
#!/bin/sh
-GUILE_LOAD_PATH="@abs_top_srcdir@/guile:@abs_top_srcdir@/guile/test:${GUILE_LOAD_PATH}"
+GUILE_LOAD_PATH="@top_builddir@/guile:@abs_top_srcdir@/guile:@abs_top_srcdir@/guile/test:${GUILE_LOAD_PATH}"
export GUILE_LOAD_PATH
-exec @abs_top_srcdir@/libtool --mode=execute \
+exec @top_builddir@/libtool --mode=execute \
-dlopen "@abs_top_builddir@/g-wrap/libgwrap-
core-runtime.la" \
-dlopen "@abs_top_builddir@/guile/g-wrap/libgwrap-
guile-runtime.la" \
-dlopen "@abs_top_builddir@/guile/g-wrap/gw/libgw-
guile-standard.la" \
--- orig/guile/test/test-compat
+++ mod/guile/test/test-compat
@@ -1,5 +1,5 @@
#!/bin/sh
-exec ${srcdir-.}/guile-test-env ${GUILE_FLAGS} -s "$0" "$@"
+exec ${builddir-.}/guile-test-env ${GUILE_FLAGS} -s "$0" "$@"
!#
(use-modules (gw-test-compat)
--- orig/guile/test/test-enumeration
+++ mod/guile/test/test-enumeration
@@ -1,5 +1,5 @@
#!/bin/sh
-exec ${srcdir-.}/guile-test-env -s "$0" "$@"
+exec ${builddir-.}/guile-test-env -s "$0" "$@"
!#
(use-modules (gw-test-enumeration)
--- orig/guile/test/test-standard
+++ mod/guile/test/test-standard
@@ -1,5 +1,5 @@
#!/bin/sh
-exec ${srcdir-.}/guile-test-env ${GUILE_FLAGS} -s "$0" "$@"
+exec ${builddir-.}/guile-test-env ${GUILE_FLAGS} -s "$0" "$@"
!#
(use-modules (gw-test-standard)
--- orig/guile/test/test-wct
+++ mod/guile/test/test-wct
@@ -1,5 +1,5 @@
#!/bin/sh
-exec ${srcdir-.}/guile-test-env -s "$0" "$@"
+exec ${builddir-.}/guile-test-env -s "$0" "$@"
!#
(use-modules (g-wrap gw standard)