Commit | Line | Data |
---|---|---|
02555fac MW |
1 | #! /bin/sh -e |
2 | ||
3 | case $# in | |
4 | 0) echo 2>&1 "usage: ${0##*/} ENV [CMD [ARGS ...]]"; exit 2 ;; | |
5 | esac | |
6 | env=$1; shift | |
7 | case $# in | |
8 | 0) set -- "$SHELL" ;; | |
9 | esac | |
10 | ||
11 | case ${CROSSDIR+t} in | |
12 | t) ;; | |
13 | *) | |
14 | dir=$(pwd) | |
15 | p=$0 | |
16 | while :; do | |
17 | case $p in */*) f=${p##*/} p=${p%/*};; *) f=$p p=. ;; esac | |
18 | cd $p | |
19 | if ! [ -L "$f" ]; then break; fi | |
20 | p=$(readlink "$f") | |
21 | done | |
22 | p=$(pwd) | |
23 | CROSSDIR=${p%/bin}; export CROSSDIR | |
24 | cd "$dir" | |
25 | ;; | |
26 | esac | |
27 | ||
28 | if ! [ -f "$CROSSDIR/etc/$env-setup.sh" ]; then | |
29 | echo 2>&1 "${0##*/}: cross environment \`$env' unknown"; exit 2 | |
30 | fi | |
31 | ||
32 | MDW_BUILDENV=$env; export MDW_BUILDENV | |
33 | if [ -f "$CROSSDIR/etc/$env-config.site" ]; then | |
34 | CONFIG_SITE=$CROSSDIR/etc/$env-config.site; export CONFIG_SITE | |
35 | fi | |
36 | CROSS_PREFIX=$CROSSDIR/inst.$env; export CROSS_PREFIX | |
37 | . "$CROSSDIR/etc/$env-setup.sh" | |
38 | exec "$@" |