Rearrange everything.
[mdw-cross] / bin / mdw-cross
CommitLineData
02555fac
MW
1#! /bin/sh -e
2
3case $# in
4 0) echo 2>&1 "usage: ${0##*/} ENV [CMD [ARGS ...]]"; exit 2 ;;
5esac
6env=$1; shift
7case $# in
8 0) set -- "$SHELL" ;;
9esac
10
11case ${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 ;;
26esac
27
28if ! [ -f "$CROSSDIR/etc/$env-setup.sh" ]; then
29 echo 2>&1 "${0##*/}: cross environment \`$env' unknown"; exit 2
30fi
31
1a141be6
MW
32p=$PATH CROSS_COMPILER_PREFIX=""
33while :; do
34 case $p in
35 "") break ;;
36 *:*) d=${p%%:*} p=${p#*:} ;;
37 *) d=$p p="" ;;
38 esac
39 if [ -e "$d/ccache" ]; then CROSS_COMPILER_PREFIX="ccache "; break; fi
40done
41export CROSS_COMPILER_PREFIX
42
02555fac 43MDW_BUILDENV=$env; export MDW_BUILDENV
1a141be6
MW
44
45if [ -f "$CROSSDIR/etc/$env-config.site" ]
46then CONFIG_SITE=$CROSSDIR/etc/$env-config.site
47else CONFIG_SITE=$CROSSDIR/etc/common-cross-config.site
02555fac 48fi
1a141be6
MW
49export CONFIG_SITE
50
02555fac
MW
51CROSS_PREFIX=$CROSSDIR/inst.$env; export CROSS_PREFIX
52. "$CROSSDIR/etc/$env-setup.sh"
1a141be6
MW
53
54case ${CROSS_ARCH+t} in
55 t) ;;
56 *) echo 2>&1 "${0##*/}: setup script didn't set \`CROSS_ARCH'"; exit 2 ;;
57esac
58export CROSS_ARCH
59
60case :$PATH: in
61 *:"$CROSSDIR/tools:"*) ;;
62 *) PATH=$CROSSDIR/tools:$PATH ;;
63esac
64
02555fac 65exec "$@"