From 0588d19abef62dad63a7794a37bdd6a71c526d9e Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Wed, 12 Aug 2009 15:00:51 +0000 Subject: Kconfig! Works on Kontron, qemu, and serengeti. Signed-off-by: Patrick Georgi tested on abuild only. Acked-by: Ronald G. Minnich git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4534 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/xcompile/xcompile | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 util/xcompile/xcompile (limited to 'util/xcompile') diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile new file mode 100644 index 0000000..d3990cf --- /dev/null +++ b/util/xcompile/xcompile @@ -0,0 +1,45 @@ + +for make in make gmake gnumake; do + if [ "`$make --version 2>/dev/null | grep -c GNU`" -gt 0 ]; then + MAKE=$make + break + fi +done + +GCCPREFIX=invalid +TMP=`mktemp /tmp/temp.XXXX` +echo "mov %eax, %eax" > ${TMP}.s +printf "\x7fELF" > ${TMP}.compare +for gccprefixes in `pwd`/../crossgcc/xgcc/bin/i386-elf- i386-elf- ""; do + if which ${gccprefixes}as 2>/dev/null >/dev/null; then + printf "" + else + continue + fi + rm -f ${TMP}.o + if ${gccprefixes}as --32 -o ${TMP}.o ${TMP}.s; then + dd bs=4 count=1 if=${TMP}.o > ${TMP}.test 2>/dev/null + if cmp ${TMP}.test ${TMP}.compare; then + GCCPREFIX=$gccprefixes + break + fi + fi +done +rm -f $TMP ${TMP}.s ${TMP}.o ${TMP}.compare ${TMP}.test + +if [ "$GCCPREFIX" = "invalid" ]; then + echo '$(error no suitable gcc found)' + exit 1 +fi + +cat << afteroptions +AS:=${GCCPREFIX}as --32 +CC:=${GCCPREFIX}gcc -m32 +AR:=${GCCPREFIX}ar +LD:=${GCCPREFIX}ld -b elf32-i386 +STRIP:=${GCCPREFIX}strip +NM:=${GCCPREFIX}nm +OBJCOPY:=${GCCPREFIX}objcopy +OBJDUMP:=${GCCPREFIX}objdump +HOSTCC:=gcc +afteroptions -- cgit v1.1