buildgcc: Remove mingw32 hacks

After patching them to be more flexible, an even better approach was found:
With this change libgcc isn't built at all on mingw32 platforms, so the
system headers aren't necessary anymore.

Now x86_64-pc-mingw32 builds, too.

Change-Id: Ic1406588669d87aee1bcf40ff67af77f2a6ac283
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/1985
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Raymond Danks <ray.danks@se-eng.com>
This commit is contained in:
Patrick Georgi 2012-12-07 13:13:53 +01:00 committed by Stefan Reinauer
parent 17b24d3fef
commit 969cd931f8
1 changed files with 12 additions and 30 deletions

View File

@ -37,10 +37,6 @@ GCC_VERSION=4.7.2
GCC_AUTOCONF_VERSION=2.64 GCC_AUTOCONF_VERSION=2.64
BINUTILS_VERSION=2.23 BINUTILS_VERSION=2.23
GDB_VERSION=7.5 GDB_VERSION=7.5
W32API_VERSION=3.17-2
W32API_VERSION_SHORT=3.17
MINGWRT_VERSION=3.20-2
MINGWRT_VERSION_SHORT=3.20
IASL_VERSION=20121114 IASL_VERSION=20121114
PYTHON_VERSION=2.7.3 PYTHON_VERSION=2.7.3
EXPAT_VERSION=2.1.0 EXPAT_VERSION=2.1.0
@ -53,8 +49,6 @@ LIBELF_ARCHIVE="http://www.mr511.de/software/libelf-${LIBELF_VERSION}.tar.gz"
GCC_ARCHIVE="http://ftpmirror.gnu.org/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.bz2" GCC_ARCHIVE="http://ftpmirror.gnu.org/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.bz2"
BINUTILS_ARCHIVE="http://ftpmirror.gnu.org/binutils/binutils-${BINUTILS_VERSION}.tar.gz" BINUTILS_ARCHIVE="http://ftpmirror.gnu.org/binutils/binutils-${BINUTILS_VERSION}.tar.gz"
GDB_ARCHIVE="http://ftpmirror.gnu.org/gdb/gdb-${GDB_VERSION}.tar.bz2" GDB_ARCHIVE="http://ftpmirror.gnu.org/gdb/gdb-${GDB_VERSION}.tar.bz2"
W32API_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW/Base/w32api/w32api-${W32API_VERSION_SHORT}/w32api-${W32API_VERSION}-mingw32-src.tar.lzma"
MINGWRT_ARCHIVE="http://downloads.sourceforge.net/project/mingw/MinGW/Base/mingw-rt/mingwrt-${MINGWRT_VERSION_SHORT}/mingwrt-${MINGWRT_VERSION}-mingw32-src.tar.lzma"
IASL_ARCHIVE="http://www.acpica.org/download/acpica-unix-${IASL_VERSION}.tar.gz" IASL_ARCHIVE="http://www.acpica.org/download/acpica-unix-${IASL_VERSION}.tar.gz"
PYTHON_ARCHIVE="http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.bz2" PYTHON_ARCHIVE="http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.bz2"
EXPAT_ARCHIVE="http://downloads.sourceforge.net/sourceforge/expat/expat-${EXPAT_VERSION}.tar.gz" EXPAT_ARCHIVE="http://downloads.sourceforge.net/sourceforge/expat/expat-${EXPAT_VERSION}.tar.gz"
@ -66,8 +60,6 @@ LIBELF_DIR="libelf-${LIBELF_VERSION}"
GCC_DIR="gcc-${GCC_VERSION}" GCC_DIR="gcc-${GCC_VERSION}"
BINUTILS_DIR="binutils-${BINUTILS_VERSION}" BINUTILS_DIR="binutils-${BINUTILS_VERSION}"
GDB_DIR="gdb-${GDB_VERSION}" GDB_DIR="gdb-${GDB_VERSION}"
W32API_DIR="w32api-${W32API_VERSION}-mingw32"
MINGWRT_DIR="mingwrt-${MINGWRT_VERSION}-mingw32"
IASL_DIR="acpica-unix-${IASL_VERSION}" IASL_DIR="acpica-unix-${IASL_VERSION}"
PYTHON_DIR="Python-${PYTHON_VERSION}" PYTHON_DIR="Python-${PYTHON_VERSION}"
EXPAT_DIR="expat-${EXPAT_VERSION}" EXPAT_DIR="expat-${EXPAT_VERSION}"
@ -129,7 +121,7 @@ cleanup()
{ {
printf "Cleaning up temporary files... " printf "Cleaning up temporary files... "
rm -rf build-* combined gcc-* gmp-* mpfr-* mpc-* libelf-* binutils-* rm -rf build-* combined gcc-* gmp-* mpfr-* mpc-* libelf-* binutils-*
rm -rf gdb-* w32api-* mingwrt-* acpica-* python-* expat-* rm -rf gdb-* acpica-* python-* expat-*
printf "${green}ok${NC}\n" printf "${green}ok${NC}\n"
} }
@ -237,11 +229,6 @@ if [ $SKIPPYTHON -eq 1 ]; then
EXPAT_PACKAGE="" EXPAT_PACKAGE=""
fi fi
MINGW_ARCHIVES=""
if [ "`echo $TARGETARCH | grep -c -- -mingw32`" -gt 0 ]; then
MINGW_ARCHIVES="$W32API_ARCHIVE $MINGWRT_ARCHIVE"
fi
# coreboot does not like the GOLD linker # coreboot does not like the GOLD linker
# USE_GOLD="--enable-gold" # USE_GOLD="--enable-gold"
USE_GOLD="" USE_GOLD=""
@ -267,7 +254,7 @@ fi
printf "Downloading tar balls ... \n" printf "Downloading tar balls ... \n"
mkdir -p tarballs mkdir -p tarballs
for ARCHIVE in $GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE \ for ARCHIVE in $GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE \
$GCC_ARCHIVE $BINUTILS_ARCHIVE $GDB_ARCHIVE $MINGW_ARCHIVES \ $GCC_ARCHIVE $BINUTILS_ARCHIVE $GDB_ARCHIVE \
$IASL_ARCHIVE $PYTHON_ARCHIVE $EXPAT_ARCHIVE; do $IASL_ARCHIVE $PYTHON_ARCHIVE $EXPAT_ARCHIVE; do
FILE=`basename $ARCHIVE` FILE=`basename $ARCHIVE`
printf " * $FILE " printf " * $FILE "
@ -284,14 +271,9 @@ done
printf "Downloaded tar balls ... " printf "Downloaded tar balls ... "
printf "${green}ok${NC}\n" printf "${green}ok${NC}\n"
MINGW_PACKAGES=""
if [ "`echo $TARGETARCH | grep -c -- -mingw32`" -gt 0 ]; then
MINGW_PACKAGES="W32API MINGWRT"
fi
printf "Unpacking and patching ... \n" printf "Unpacking and patching ... \n"
for PACKAGE in GMP MPFR MPC LIBELF GCC BINUTILS $PYTHON_PACKAGE \ for PACKAGE in GMP MPFR MPC LIBELF GCC BINUTILS $PYTHON_PACKAGE \
$EXPAT_PACKAGE $GDB_PACKAGE $MINGW_PACKAGES IASL; do $EXPAT_PACKAGE $GDB_PACKAGE IASL; do
archive=$PACKAGE"_ARCHIVE" archive=$PACKAGE"_ARCHIVE"
archive="`eval echo '$'$archive`" archive="`eval echo '$'$archive`"
dir=$PACKAGE"_DIR" dir=$PACKAGE"_DIR"
@ -315,12 +297,6 @@ done
printf "Unpacked and patched ... " printf "Unpacked and patched ... "
printf "${green}ok${NC}\n" printf "${green}ok${NC}\n"
if [ "`echo $TARGETARCH | grep -c -- -mingw32`" -gt 0 ]; then
mkdir -p $TARGETDIR/$TARGETARCH/sys-include
mv $MINGWRT_DIR/include/* $W32API_DIR/include/* \
$TARGETDIR/$TARGETARCH/sys-include
fi
CC=cc CC=cc
if [ `uname` = "Darwin" ]; then if [ `uname` = "Darwin" ]; then
#GCC_OPTIONS="$GCC_OPTIONS --enable-threads=posix" #GCC_OPTIONS="$GCC_OPTIONS --enable-threads=posix"
@ -507,14 +483,20 @@ printf "Building GCC ${GCC_VERSION} ... "
--prefix=$TARGETDIR --libexecdir=$TARGETDIR/lib \ --prefix=$TARGETDIR --libexecdir=$TARGETDIR/lib \
--target=${TARGETARCH} --disable-werror --disable-shared \ --target=${TARGETARCH} --disable-werror --disable-shared \
--disable-libssp --disable-bootstrap --disable-nls \ --disable-libssp --disable-bootstrap --disable-nls \
--disable-libquadmath \ --disable-libquadmath --without-headers \
$GCC_OPTIONS --enable-languages="c" $USE_GOLD \ $GCC_OPTIONS --enable-languages="c" $USE_GOLD \
--with-gmp=$DESTDIR$TARGETDIR --with-mpfr=$DESTDIR$TARGETDIR \ --with-gmp=$DESTDIR$TARGETDIR --with-mpfr=$DESTDIR$TARGETDIR \
--with-mpc=$DESTDIR$TARGETDIR --with-libelf=$DESTDIR$TARGETDIR \ --with-mpc=$DESTDIR$TARGETDIR --with-libelf=$DESTDIR$TARGETDIR \
--with-pkgversion="coreboot toolchain v$CROSSGCC_VERSION $CROSSGCC_DATE" \ --with-pkgversion="coreboot toolchain v$CROSSGCC_VERSION $CROSSGCC_DATE" \
|| touch .failed || touch .failed
$MAKE $JOBS CFLAGS_FOR_BUILD="$HOSTCFLAGS" || touch .failed $MAKE $JOBS CFLAGS_FOR_BUILD="$HOSTCFLAGS" all-gcc || touch .failed
$MAKE install DESTDIR=$DESTDIR || touch .failed $MAKE install-gcc DESTDIR=$DESTDIR || touch .failed
if [ "`echo $TARGETARCH | grep -c -- -mingw32`" -eq 0 ]; then
$MAKE $JOBS CFLAGS_FOR_BUILD="$HOSTCFLAGS" all-target-libgcc || touch .failed
$MAKE install-target-libgcc DESTDIR=$DESTDIR || touch .failed
fi
if [ ! -f .failed ]; then touch .success; fi if [ ! -f .failed ]; then touch .success; fi
) > build-gcc/crossgcc-build.log 2>&1 ) > build-gcc/crossgcc-build.log 2>&1
test -r build-gcc/.failed && printf "${RED}failed${NC}\n" || \ test -r build-gcc/.failed && printf "${RED}failed${NC}\n" || \