Merge branch 'syncase'
[bpt/guile.git] / meta / uninstalled-env.in
1 #!/bin/sh
2
3 # Copyright (C) 2003, 2006, 2008 Free Software Foundation
4 #
5 # This file is part of GUILE.
6 #
7 # This script is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License, or (at your option) any later version.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
21 # NOTE: If you update this file, please update uninstalled.in as
22 # well, if appropriate.
23
24 # Usage: uninstalled-env [ARGS]
25
26 # This script arranges for the environment to support running Guile
27 # from the build tree. The following env vars are modified (but not
28 # clobbered): GUILE_LOAD_PATH, LTDL_LIBRARY_PATH, and PATH.
29
30 # Example: uninstalled-env guile -c '(display "hello\n")'
31 # Example: ../../uninstalled-env ./guile-test-foo
32
33 # config
34 subdirs_with_ltlibs="srfi guile-readline libguile" # maintain me
35
36 # env (set by configure)
37 top_srcdir="@top_srcdir_absolute@"
38 top_builddir="@top_builddir_absolute@"
39
40 [ x"$top_srcdir" = x -o ! -d "$top_srcdir" -o \
41 x"$top_builddir" = x -o ! -d "$top_builddir" ] && {
42 echo $0: bad environment
43 echo top_srcdir=$top_srcdir
44 echo top_builddir=$top_builddir
45 exit 1
46 }
47
48 if [ x"$GUILE_LOAD_PATH" = x ]
49 then
50 if test "${top_srcdir}" != "${top_builddir}"; then
51 GUILE_LOAD_PATH="${top_builddir}/guile-readline:${top_srcdir}/guile-readline:${top_builddir}:${top_srcdir}:${top_builddir}/module:${top_srcdir}/module"
52 else
53 GUILE_LOAD_PATH="${top_srcdir}/guile-readline:${top_srcdir}:${top_srcdir}/module:${top_srcdir}/module"
54 fi
55 else
56 for d in "${top_srcdir}" "${top_srcdir}/guile-readline" \
57 "${top_srcdir}/module" "${top_builddir}/module"
58 do
59 # This hair prevents double inclusion.
60 # The ":" prevents prefix aliasing.
61 case x"$GUILE_LOAD_PATH" in
62 x*${d}:*) ;;
63 *) GUILE_LOAD_PATH="${d}:$GUILE_LOAD_PATH" ;;
64 esac
65 done
66 fi
67 export GUILE_LOAD_PATH
68
69 # Don't look in installed dirs for guile modules
70 if ( env | grep -v -q -E '^GUILE_SYSTEM_PATH=' ); then
71 export GUILE_SYSTEM_PATH=
72 fi
73
74 # handle LTDL_LIBRARY_PATH (no clobber)
75 ltdl_prefix=""
76 dyld_prefix=""
77 for dir in $subdirs_with_ltlibs ; do
78 ltdl_prefix="${top_builddir}/${dir}:${ltdl_prefix}"
79 dyld_prefix="${top_builddir}/${dir}/.libs:${dyld_prefix}"
80 done
81 LTDL_LIBRARY_PATH="${ltdl_prefix}$LTDL_LIBRARY_PATH"
82 export LTDL_LIBRARY_PATH
83 DYLD_LIBRARY_PATH="${dyld_prefix}$DYLD_LIBRARY_PATH"
84 export DYLD_LIBRARY_PATH
85
86 if [ x"$PKG_CONFIG_PATH" = x ]
87 then
88 PKG_CONFIG_PATH="${top_builddir}/meta"
89 else
90 PKG_CONFIG_PATH="${top_builddir}/meta:$PKG_CONFIG_PATH"
91 fi
92 export PKG_CONFIG_PATH
93
94 # handle PATH (no clobber)
95 PATH="${top_builddir}/libguile:${PATH}"
96 PATH="${top_builddir}/meta:${PATH}"
97 export PATH
98
99 exec "$@"