mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
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.
This commit is contained in:
parent
9447207f0c
commit
f701287497
3 changed files with 55 additions and 44 deletions
|
@ -26,6 +26,9 @@ AM_V_GUILEC_0 = @echo " GUILEC" $@;
|
|||
|
||||
SUFFIXES = .scm .go
|
||||
.scm.go:
|
||||
$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \
|
||||
$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \
|
||||
$(top_builddir)/meta/uninstalled-env \
|
||||
guild compile --target="$(host)" $(GUILE_WARNINGS) -o "$@" "$<"
|
||||
guild compile --target="$(host)" $(GUILE_WARNINGS) \
|
||||
-L "$(abs_srcdir)" -L "$(abs_builddir)" \
|
||||
-L "$(abs_top_srcdir)/guile-readline" \
|
||||
-o "$@" "$<"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -79,10 +79,13 @@ ice-9/psyntax-pp.scm.gen:
|
|||
|
||||
.PHONY: ice-9/psyntax-pp.scm.gen
|
||||
|
||||
# Keep this rule in sync with that in `am/guilec'.
|
||||
ice-9/psyntax-pp.go: ice-9/psyntax.scm ice-9/psyntax-pp.scm
|
||||
$(AM_V_GUILEC) GUILE_AUTO_COMPILE=0 \
|
||||
$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \
|
||||
$(top_builddir)/meta/uninstalled-env \
|
||||
guild compile --target="$(host)" $(GUILE_WARNINGS) \
|
||||
-L "$(abs_srcdir)" -L "$(abs_builddir)" \
|
||||
-L "$(abs_top_srcdir)/guile-readline" \
|
||||
-o "ice-9/psyntax-pp.go" "$(srcdir)/ice-9/psyntax.scm"
|
||||
|
||||
SCHEME_LANG_SOURCES = \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue