Merge commit 'ca5e0414e96886177d883a249edd957d2331db65'
[bpt/guile.git] / meta / uninstalled-env.in
index b3deed5..567c6e2 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#      Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011 Free Software Foundation
+#      Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011, 2012 Free Software Foundation
 #
 #   This file is part of GUILE.
 #
@@ -46,59 +46,72 @@ top_builddir="@top_builddir_absolute@"
     exit 1
 }
 
-if [ x"$GUILE_LOAD_PATH" = x ]
+# When cross-compiling, let $GUILE_FOR_BUILD use its own .go files since
+# 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
-    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}"
+    if [ x"$GUILE_LOAD_PATH" = x ]
+    then
+       GUILE_LOAD_PATH="${top_srcdir}/module:${top_srcdir}/guile-readline"
+       if test "${top_srcdir}" != "${top_builddir}"; then
+            GUILE_LOAD_PATH="$GUILE_LOAD_PATH:${top_builddir}/module:${top_builddir}/guile-readline"
+       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
-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}:*) ;;
-      *) GUILE_LOAD_PATH="${top_srcdir}${d}:$GUILE_LOAD_PATH" ;;
-    esac
-    case x"$GUILE_LOAD_PATH" in
-      x*${top_builddir}${d}:*) ;;
-      *) GUILE_LOAD_PATH="${top_builddir}${d}:$GUILE_LOAD_PATH" ;;
-    esac
-  done
-fi
-export GUILE_LOAD_PATH
+    export GUILE_LOAD_PATH
 
-if [ x"$GUILE_LOAD_COMPILED_PATH" = x ]
-then
-  GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/guile-readline:${top_builddir}"
-else
-  for d in "/module" "/guile-readline" ""
-  do
-    # This hair prevents double inclusion.
-    # The ":" prevents prefix aliasing.
-    case x"$GUILE_LOAD_COMPILED_PATH" in
-      x*${top_builddir}${d}:*) ;;
-      *) GUILE_LOAD_COMPILED_PATH="${top_builddir}${d}:$GUILE_LOAD_COMPILED_PATH" ;;
-    esac
-  done
-fi
-export GUILE_LOAD_COMPILED_PATH
+    if test "x$GUILE_LOAD_COMPILED_PATH" = "x"
+    then
+       GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/guile-readline"
+    else
+       for d in "/module" "/guile-readline"
+       do
+            # This hair prevents double inclusion.
+            # The ":" prevents prefix aliasing.
+           case x"$GUILE_LOAD_COMPILED_PATH" in
+               x*${top_builddir}${d}:*) ;;
+               x*${top_builddir}${d}) ;;
+               *) GUILE_LOAD_COMPILED_PATH="${top_builddir}${d}:$GUILE_LOAD_COMPILED_PATH" ;;
+           esac
+       done
+    fi
+    export GUILE_LOAD_COMPILED_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
+    # 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)
@@ -133,4 +146,8 @@ if test "x${top_srcdir}" != "x${top_builddir}"; then
 fi
 export PATH
 
+# Define $GUILE, used by `guild'.
+GUILE="${top_builddir}/meta/guile"
+export GUILE
+
 exec "$@"