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
+if type >/dev/null 2>&1; then CROSS_COMPILER_PREFIX="ccache "
+else CROSS_COMPILER_PREFIX=
+fi
export CROSS_COMPILER_PREFIX
CROSS_BUILDENV=$env; export CROSS_BUILDENV
*) PATH=$CROSSDIR/tools:$PATH ;;
esac
+case ${CROSS_NATIVE_P-nil} in
+ t) gcc=gcc clang=clang ;;
+ nil) gcc=$CROSS_ARCH-gcc clang=${CROSS_clang_TOOL-clang} ;;
+esac
+if type >/dev/null 2>&1 "$gcc"; then found_gcc=t; else found_gcc=nil; fi
+if type >/dev/null 2>&1 "$clang"; then found_clang=t; else found_clang=nil; fi
+case ${CROSS_COMPILER-guess},$found_gcc,$found_clang in
+ guess,t,* | prefer-gcc,t,* | gcc,t,* | prefer-clang,t,nil)
+ CROSS_COMPILER=gcc ;;
+ guess,nil,t | prefer-clang,*,t | clang,*,t | prefer-gcc,nil,t)
+ CROSS_COMPILER=clang ;;
+ guess,* | prefer-gcc,* | prefer-clang,*)
+ echo 2>&1 "${0##*/}: couldn't find C compiler \`$gcc' or \`$clang'"
+ exit 2
+ ;;
+ gcc,*) echo 2>&1 "${0##*/}: couldn't find C compiler \`$gcc'"; exit 2 ;;
+ clang,*) echo 2>&1 "${0##*/}: couldn't find C compiler \`$clang'"; exit 2 ;;
+ *)
+ echo 2>&1 "${0##*/}: unrecognized preferred compiler \`$CROSS_COMPILER'"
+ exit 2
+ ;;
+esac
+export CROSS_COMPILER
+
exec "$@"