From bef737dcb33d86747dac3159210762e22e70b070 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Thu, 10 Dec 2009 00:23:02 +0000 Subject: [PATCH] Autodetect cross-compiler name. Signed-off-by: Laurent Vivier git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@644 f158a5a8-5612-0410-a976-696ce0be7e32 --- config/scripts/switch-arch | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/config/scripts/switch-arch b/config/scripts/switch-arch index 0e7dd30..c965bbb 100755 --- a/config/scripts/switch-arch +++ b/config/scripts/switch-arch @@ -84,6 +84,19 @@ archname() -e "s/Power Macintosh/ppc/"` } +select_prefix() +{ + for TARGET in ${1}-linux-gnu- ${1}-elf- ${1}-eabi- + do + if type -p ${TARGET}gcc > /dev/null + then + return + fi + done + echo "ERROR: no ${1} cross-compiler found !" 1>&2 + exit 1 +} + if ! test -f utils/dist/debian/rules; then echo "switch-arch must be run from the top-level source directory" >&2 exit 1 @@ -110,31 +123,31 @@ for RULES_ARCH in $*; do ARCH=`echo $RULES_ARCH | sed s/cross-//g` case $ARCH in amd64) - TARGET="x86_64-linux-gnu-" + select_prefix x86_64 CFLAGS="-fno-builtin" AS_FLAGS= ;; ppc) - TARGET="powerpc-linux-gnu-" + select_prefix powerpc CFLAGS="-msoft-float -fno-builtin-bcopy -fno-builtin-log2" AS_FLAGS= ;; sparc32) - TARGET="sparc-elf-" + select_prefix sparc CFLAGS="-Wa,-xarch=v8 -Wa,-32 -m32 -mcpu=supersparc -fno-builtin" AS_FLAGS="-Wa,-xarch=v8 -Wa,-32" ;; sparc64) - TARGET="sparc64-elf-" + select_prefix sparc64 CFLAGS="-Wa,-xarch=v9b -Wa,-64 -m64 -mcpu=ultrasparc -mcmodel=medany -fno-builtin" AS_FLAGS="-Wa,-xarch=v9b -Wa,-64" ;; x86) - TARGET="i486-linux-gnu-" + select_prefix i486 CFLAGS="-fno-builtin -m32" AS_FLAGS="-Wa,-32" ;;