mdw/cross.in, Makefile: Rename to simply `cross'.
[mdw-cross] / src / cross.in
diff --git a/src/cross.in b/src/cross.in
new file mode 100644 (file)
index 0000000..f482d28
--- /dev/null
@@ -0,0 +1,50 @@
+#! /bin/sh -e
+
+case $# in
+  0) echo 2>&1 "usage: ${0##*/} ENV [CMD [ARGS ...]]"; exit 2 ;;
+esac
+env=$1; shift
+case $# in
+  0) set -- "$SHELL" ;;
+esac
+
+: ${CROSSDIR=@crossdir@}; export CROSSDIR
+
+if ! [ -f "$CROSSDIR/etc/$env-setup.sh" ]; then
+  echo 2>&1 "${0##*/}: cross environment \`$env' unknown"; exit 2
+fi
+
+p=$PATH CROSS_COMPILER_PREFIX=""
+while :; do
+  case $p in
+    "") break ;;
+    *:*) d=${p%%:*} p=${p#*:} ;;
+    *) d=$p p="" ;;
+  esac
+  if [ -e "$d/ccache" ]; then CROSS_COMPILER_PREFIX="ccache "; break; fi
+done
+export CROSS_COMPILER_PREFIX
+
+CROSS_BUILDENV=$env; export CROSS_BUILDENV
+
+if [ -f "$CROSSDIR/etc/$env-config.site" ]
+then CONFIG_SITE=$CROSSDIR/etc/$env-config.site
+else CONFIG_SITE=$CROSSDIR/etc/common-cross-config.site
+fi
+export CONFIG_SITE
+
+CROSS_PREFIX=$CROSSDIR/inst.$env; export CROSS_PREFIX
+. "$CROSSDIR/etc/$env-setup.sh"
+
+case ${CROSS_ARCH+t} in
+  t) ;;
+  *) echo 2>&1 "${0##*/}: setup script didn't set \`CROSS_ARCH'"; exit 2 ;;
+esac
+export CROSS_ARCH
+
+case :$PATH: in
+  *:"$CROSSDIR/tools:"*) ;;
+  *) PATH=$CROSSDIR/tools:$PATH ;;
+esac
+
+exec "$@"