[coreboot] New patch to review: f2e37b8 Add iasl to buldgcc and rev the version.

Marc Jones (marcj303@gmail.com) gerrit at coreboot.org
Tue Aug 9 22:40:14 CEST 2011


Marc Jones (marcj303 at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/147

-gerrit

commit f2e37b80a556336edad95724b2d62e4024d5b678
Author: Marc Jones <marcj303 at gmail.com>
Date:   Mon Aug 8 16:07:50 2011 -0600

    Add iasl to buldgcc and rev the version.
    
    Change-Id: If9144cdf088f16bc3974a1784a442a1fd12ac75b
    Signed-off-by: Marc Jones <marcj303 at gmail.com>
---
 Makefile.inc           |    2 +-
 util/crossgcc/buildgcc |   34 +++++++++++++++++++++++++++++-----
 util/xcompile/xcompile |   11 ++++++++++-
 3 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/Makefile.inc b/Makefile.inc
index 65550e6..89467db 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -64,7 +64,7 @@ define ramstage-objs_asl_template
 $(obj)/$(1).ramstage.o: src/$(1).asl $(obj)/config.h
 	@printf "    IASL       $$(subst $(top)/,,$$(@))\n"
 	$(CC) -x assembler-with-cpp -E -MMD -MT $$(@) -D__ACPI__ -P -include $(abspath $(obj)/config.h) -I$(src) -I$(src)/mainboard/$(MAINBOARDDIR) $$< -o $$(basename $$@).asl
-	cd $$(dir $$@); iasl -p $$(notdir $$@) -tc $$(notdir $$(basename $$@)).asl
+	cd $$(dir $$@); $(IASL) -p $$(notdir $$@) -tc $$(notdir $$(basename $$@)).asl
 	mv $$(basename $$@).hex $$(basename $$@).c
 	$(CC) $$(CFLAGS) $$(if $$(subst dsdt,,$$(basename $$(notdir $(1)))), -DAmlCode=AmlCode_$$(basename $$(notdir $(1)))) -c -o $$@ $$(basename $$@).c
 	# keep %.o: %.c rule from catching the temporary .c file after a make clean
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 83b7cdf..e97a651 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -4,6 +4,8 @@
 # written by Patrick Georgi <patrick.georgi at coresystems.de> and
 #            Stefan Reinauer <stefan.reinauer at coresystems.de>
 #
+# Copyright (C) 2011 by Sage Electronic Engineering
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -18,8 +20,8 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
 #
 
-CROSSGCC_DATE="December 16th, 2010"
-CROSSGCC_VERSION="1.03"
+CROSSGCC_DATE="August 8th, 2011"
+CROSSGCC_VERSION="1.04"
 
 # default settings
 TARGETDIR=`pwd`/xgcc
@@ -37,6 +39,7 @@ GDB_VERSION=7.2
 W32API_VERSION=3.17-2
 W32API_VERSION_SHORT=3.17
 MINGWRT_VERSION=3.18
+IASL_VERSION=20110623
 
 # archive locations
 GMP_ARCHIVE="ftp://ftp.gmplib.org/pub/gmp-${GMP_VERSION}/gmp-${GMP_VERSION}.tar.bz2"
@@ -48,6 +51,7 @@ BINUTILS_ARCHIVE="http://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION}.t
 GDB_ARCHIVE="http://ftp.gnu.org/gnu/gdb/gdb-${GDB_VERSION}.tar.bz2"
 W32API_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-${W32API_VERSION_SHORT}/w32api-${W32API_VERSION}-mingw32-src.tar.lzma"
 MINGWRT_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT/mingwrt-${MINGWRT_VERSION}/mingwrt-${MINGWRT_VERSION}-mingw32-src.tar.gz"
+IASL_ARCHIVE="http://www.acpica.org/download/acpica-unix-${IASL_VERSION}.tar.gz"
 
 GMP_DIR="gmp-${GMP_VERSION}"
 MPFR_DIR="mpfr-${MPFR_VERSION}"
@@ -58,6 +62,7 @@ BINUTILS_DIR="binutils-${BINUTILS_VERSION}"
 GDB_DIR="gdb-${GDB_VERSION}"
 W32API_DIR="w32api-${W32API_VERSION}-mingw32"
 MINGWRT_DIR="mingwrt-${MINGWRT_VERSION}-mingw32"
+IASL_DIR="acpica-unix-${IASL_VERSION}"
 
 SAVETEMPS=0
 SKIPGDB=0
@@ -96,7 +101,7 @@ MAKE=`searchgnu make` || exit $?
 cleanup()
 {
 	printf "Cleaning up temporary files... "
-	rm -rf build-* combined gcc-* gmp-* mpfr-* mpc-* libelf-* binutils-* gdb-* w32api-* mingwrt-*
+	rm -rf build-* combined gcc-* gmp-* mpfr-* mpc-* libelf-* binutils-* gdb-* w32api-* mingwrt-* acpica-*
 	printf "${green}ok${NC}\n"
 }
 
@@ -127,6 +132,7 @@ myversion()
 
 	cat << EOF
 Copyright (C) 2008-2010 by coresystems GmbH
+Copyright (C) 2011 by Sage Electronic Engineering
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -217,7 +223,7 @@ fi
 
 printf "Downloading tar balls ... \n"
 mkdir -p tarballs
-for ARCHIVE in $GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE $GCC_ARCHIVE $BINUTILS_ARCHIVE $GDB_ARCHIVE $MINGW_ARCHIVES; do
+for ARCHIVE in $GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE $GCC_ARCHIVE $BINUTILS_ARCHIVE $GDB_ARCHIVE $MINGW_ARCHIVES $IASL_ARCHIVE; do
 	FILE=`basename $ARCHIVE`
 	printf " * $FILE "
 	test -f tarballs/$FILE && printf "(cached)" || (
@@ -238,7 +244,7 @@ if [ "$TARGETARCH" = "i386-mingw32" ]; then
 fi
 
 printf "Unpacking and patching ... \n"
-for PACKAGE in GMP MPFR MPC LIBELF GCC BINUTILS $GDB_PACKAGE $MINGW_PACKAGES; do
+for PACKAGE in GMP MPFR MPC LIBELF GCC BINUTILS $GDB_PACKAGE $MINGW_PACKAGES IASL; do
 	archive=$PACKAGE"_ARCHIVE"
 	archive=${!archive}
 	dir=$PACKAGE"_DIR"
@@ -447,6 +453,23 @@ test -r build-gdb/.failed && printf "${RED}failed${NC}\n" || printf "${green}ok$
 test -r build-gdb/.failed && exit 1
 fi
 
+if [ -f $IASL_DIR/compiler/.success ]; then
+	printf "Skipping IASL as it is already built\n"
+else
+printf "Building IASL ${IASL_VERSION} ... "
+(
+	cd $IASL_DIR/compiler
+	export PATH=$PATH:$DESTDIR$TARGETDIR/bin
+	rm -f .failed
+	CFLAGS="$HOSTCFLAGS"
+	$MAKE || touch .failed
+	cp --remove-destination iasl* $DESTDIR$TARGETDIR/bin || touch .failed
+	if [ ! -f .failed ]; then touch .success; fi
+) &> $IASL_DIR/compiler/crossgcc-build.log
+test -r $IASL_DIR/compiler/.failed && printf "${RED}failed${NC}\n" || printf "${green}ok${NC}\n"
+test -r $IASL_DIR/compiler.failed && exit 1
+fi
+
 if [ $SAVETEMPS -eq 0 ]; then
 	printf "Cleaning up... "
 	rm -rf ${GMP_DIR} build-gmp
@@ -456,6 +479,7 @@ if [ $SAVETEMPS -eq 0 ]; then
 	rm -rf ${BINUTILS_DIR} build-binutils
 	rm -rf ${GCC_DIR} build-gcc
 	rm -rf ${GDB_DIR} build-gdb
+	rm -rf ${IASL_DIR}
 	printf "${green}ok${NC}\n"
 else
 	printf "Leaving temporary files around... ${green}ok${NC}\n"
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index 19103c7..fd4dbeb 100644
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -35,13 +35,14 @@ for make in make gmake gnumake; do
 done
 
 GCCPREFIX=invalid
+XGCCPATH="`pwd`/util/crossgcc/xgcc/bin/"
 TMPFILE=`mktemp /tmp/temp.XXXX 2>/dev/null || echo /tmp/temp.78gOIUGz`
 touch $TMPFILE
 
 # This should be a loop over all supported architectures
 TARCH=i386
 TWIDTH=32
-for gccprefixes in `pwd`/util/crossgcc/xgcc/bin/${TARCH}-elf- ${TARCH}-elf- ""; do
+for gccprefixes in ${XGCCPATH}${TARCH}-elf- ${TARCH}-elf- ""; do
 	if ! which ${gccprefixes}as 2>/dev/null >/dev/null; then
 		continue
 	fi
@@ -85,6 +86,12 @@ else
 	HOSTCC=cc
 fi
 
+if [ "`${XGCCPATH}/iasl 2>/dev/null | grep -c ACPI`" -gt 0 ]; then
+	IASL=${XGCCPATH}iasl
+else
+	IASL=iasl
+fi
+
 cat << EOF
 # elf${TWIDTH}-${TARCH} toolchain
 AS:=${GCCPREFIX}as ${ASFLAGS}
@@ -96,6 +103,8 @@ NM:=${GCCPREFIX}nm
 OBJCOPY:=${GCCPREFIX}objcopy
 OBJDUMP:=${GCCPREFIX}objdump
 
+IASL:=${IASL}
+
 # native toolchain
 HOSTCC:=${HOSTCC}
 EOF




More information about the coreboot mailing list