61c245655e88a01753a2e6f06fe7a3ea6035dd0c
[mdw-cross] / bin / mdw-cross
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 "$@"