| 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 | : ${CROSSDIR=@crossdir@}; export CROSSDIR |
| 12 | |
| 13 | if ! [ -f "$CROSSDIR/etc/$env-setup.sh" ]; then |
| 14 | echo 2>&1 "${0##*/}: cross environment \`$env' unknown"; exit 2 |
| 15 | fi |
| 16 | |
| 17 | p=$PATH CROSS_COMPILER_PREFIX="" |
| 18 | while :; do |
| 19 | case $p in |
| 20 | "") break ;; |
| 21 | *:*) d=${p%%:*} p=${p#*:} ;; |
| 22 | *) d=$p p="" ;; |
| 23 | esac |
| 24 | if [ -e "$d/ccache" ]; then CROSS_COMPILER_PREFIX="ccache "; break; fi |
| 25 | done |
| 26 | export CROSS_COMPILER_PREFIX |
| 27 | |
| 28 | CROSS_BUILDENV=$env; export CROSS_BUILDENV |
| 29 | |
| 30 | if [ -f "$CROSSDIR/etc/$env-config.site" ] |
| 31 | then CONFIG_SITE=$CROSSDIR/etc/$env-config.site |
| 32 | else CONFIG_SITE=$CROSSDIR/etc/common-cross-config.site |
| 33 | fi |
| 34 | export CONFIG_SITE |
| 35 | |
| 36 | CROSS_PREFIX=$CROSSDIR/inst.$env; export CROSS_PREFIX |
| 37 | . "$CROSSDIR/etc/$env-setup.sh" |
| 38 | |
| 39 | case ${CROSS_ARCH+t} in |
| 40 | t) ;; |
| 41 | *) echo 2>&1 "${0##*/}: setup script didn't set \`CROSS_ARCH'"; exit 2 ;; |
| 42 | esac |
| 43 | export CROSS_ARCH |
| 44 | |
| 45 | case :$PATH: in |
| 46 | *:"$CROSSDIR/tools:"*) ;; |
| 47 | *) PATH=$CROSSDIR/tools:$PATH ;; |
| 48 | esac |
| 49 | |
| 50 | exec "$@" |