diff options
author | Ludovic Courtès <ludo@gnu.org> | 2011-11-23 15:29:18 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2011-11-23 15:29:18 +0100 |
commit | f701287497d545061009ad572c69f86bb10d7a6a (patch) | |
tree | d1964a59cabb198ef9637a09b0aedc3ae5ea3135 /meta | |
parent | 9447207f0c9a52d48b2de20b444405dfdd43d465 (diff) |
Allow $GUILE_FOR_BUILD to use its own environment when cross-compiling.
* am/guilec (.scm.go): Use `-L' to specify the search path.
* module/Makefile.am (ice-9/psyntax-pp.go): Likewise.
* meta/uninstalled-env.in (top_builddir): Leave $GUILE_LOAD_PATH,
$GUILE_SYSTEM_PATH, and $GUILE_SYSTEM_EXTENSIONS_PATH unchanged when
cross-compiling.
Diffstat (limited to 'meta')
-rw-r--r-- | meta/uninstalled-env.in | 87 |
1 files changed, 46 insertions, 41 deletions
diff --git a/meta/uninstalled-env.in b/meta/uninstalled-env.in index 24a05f92a..5fa0db0cf 100644 --- a/meta/uninstalled-env.in +++ b/meta/uninstalled-env.in @@ -46,35 +46,40 @@ top_builddir="@top_builddir_absolute@" exit 1 } -if [ x"$GUILE_LOAD_PATH" = x ] -then - GUILE_LOAD_PATH="${top_srcdir}/module:${top_srcdir}/guile-readline:${top_srcdir}" - if test "${top_srcdir}" != "${top_builddir}"; then - GUILE_LOAD_PATH="$GUILE_LOAD_PATH:${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}" - fi -else - for d in "/module" "/guile-readline" "" - do - # This hair prevents double inclusion. - # The ":" prevents prefix aliasing. - case x"$GUILE_LOAD_PATH" in - x*${top_srcdir}${d}:*) ;; - x*${top_srcdir}${d}) ;; - *) GUILE_LOAD_PATH="${top_srcdir}${d}:$GUILE_LOAD_PATH" ;; - esac - case x"$GUILE_LOAD_PATH" in - x*${top_builddir}${d}:*) ;; - x*${top_builddir}${d}) ;; - *) GUILE_LOAD_PATH="${top_builddir}${d}:$GUILE_LOAD_PATH" ;; - esac - done -fi -export GUILE_LOAD_PATH - # When cross-compiling, let $GUILE_FOR_BUILD use its own .go files since -# the ones that are being built may be incompatible. +# the ones that are being built may be incompatible ($GUILE_FOR_BUILD is +# typically used to run `guild compile --target=$host'.) Likewise, +# $GUILE_FOR_BUILD must use its own source files when booting; for +# instance, $srcdir/module/ice-9/boot-9.scm must not be in its search +# path, because it would then end up using its C evaluator to run the +# compiler. if test "@cross_compiling@" = "no" then + if [ x"$GUILE_LOAD_PATH" = x ] + then + GUILE_LOAD_PATH="${top_srcdir}/module:${top_srcdir}/guile-readline:${top_srcdir}" + if test "${top_srcdir}" != "${top_builddir}"; then + GUILE_LOAD_PATH="$GUILE_LOAD_PATH:${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}" + fi + else + for d in "/module" "/guile-readline" "" + do + # This hair prevents double inclusion. + # The ":" prevents prefix aliasing. + case x"$GUILE_LOAD_PATH" in + x*${top_srcdir}${d}:*) ;; + x*${top_srcdir}${d}) ;; + *) GUILE_LOAD_PATH="${top_srcdir}${d}:$GUILE_LOAD_PATH" ;; + esac + case x"$GUILE_LOAD_PATH" in + x*${top_builddir}${d}:*) ;; + x*${top_builddir}${d}) ;; + *) GUILE_LOAD_PATH="${top_builddir}${d}:$GUILE_LOAD_PATH" ;; + esac + done + fi + export GUILE_LOAD_PATH + if test "x$GUILE_LOAD_COMPILED_PATH" = "x" then GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}" @@ -91,22 +96,22 @@ then done fi export GUILE_LOAD_COMPILED_PATH -fi -# Don't look in installed dirs for guile modules -if ( env | grep -v '^GUILE_SYSTEM_PATH=' > /dev/null ); then - GUILE_SYSTEM_PATH= - export GUILE_SYSTEM_PATH -fi -# Don't look in installed dirs for compiled guile modules -if ( env | grep -v '^GUILE_SYSTEM_COMPILED_PATH=' > /dev/null ); then - GUILE_SYSTEM_COMPILED_PATH= - export GUILE_SYSTEM_COMPILED_PATH -fi -# Don't look in installed dirs for dlopen-able modules -if ( env | grep -v '^GUILE_SYSTEM_EXTENSIONS_PATH=' > /dev/null ); then - GUILE_SYSTEM_EXTENSIONS_PATH= - export GUILE_SYSTEM_EXTENSIONS_PATH + # Don't look in installed dirs for guile modules + if ( env | grep -v '^GUILE_SYSTEM_PATH=' > /dev/null ); then + GUILE_SYSTEM_PATH= + export GUILE_SYSTEM_PATH + fi + # Don't look in installed dirs for compiled guile modules + if ( env | grep -v '^GUILE_SYSTEM_COMPILED_PATH=' > /dev/null ); then + GUILE_SYSTEM_COMPILED_PATH= + export GUILE_SYSTEM_COMPILED_PATH + fi + # Don't look in installed dirs for dlopen-able modules + if ( env | grep -v '^GUILE_SYSTEM_EXTENSIONS_PATH=' > /dev/null ); then + GUILE_SYSTEM_EXTENSIONS_PATH= + export GUILE_SYSTEM_EXTENSIONS_PATH + fi fi # handle LTDL_LIBRARY_PATH (no clobber) |