chiark / gitweb /
mdw/cross.in, Makefile: Rename to simply `cross'.
[mdw-cross] / src / cross.in
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 "$@"