| #! /bin/sh |
| |
| # Build a GCC compiler, using environment variables defined by several |
| # reghunt scripts and config files. |
| # |
| # This doesn't work for sources earlier than about 2003-02-25. |
| # |
| # Copyright (C) 2007 Free Software Foundation. |
| # |
| # This file 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; either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # For a copy of the GNU General Public License, write the the |
| # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| # Boston, MA 02111-1301, USA. |
| |
| ID="${1}" |
| LOGDIR=${REG_BUILDDIR}/logs/${BUGID}/${ID} |
| mkdir -p $LOGDIR |
| |
| msg() { |
| echo "`date` ${1}" |
| } |
| |
| abort() { |
| msg "${1}" |
| exit 1 |
| } |
| |
| msg "building $REG_COMPILER for id $ID" |
| |
| rm -rf $REG_OBJDIR |
| mkdir $REG_OBJDIR |
| cd $REG_OBJDIR |
| |
| #msg "configure" |
| ${REG_GCCSRC}/configure \ |
| --prefix=$REG_PREFIX \ |
| --enable-languages=$REG_LANGS \ |
| $REG_CONFOPTS \ |
| > configure.log 2>&1 || abort " configure failed" |
| |
| #msg "make libraries" |
| make all-build-libiberty > ${LOGDIR}/make.all-build-libiberty.log 2>&1 || true |
| make all-libcpp > ${LOGDIR}/make.all-libcpp.log 2>&1 || true |
| make all-libdecnumber > ${LOGDIR}/make.all-libdecnumber.log 2>&1 || true |
| make all-intl > ${LOGDIR}/make.all-intl.log 2>&1 || true |
| make all-libbanshee > ${LOGDIR}/make.all-libbanshee.log 2>&1 || true |
| make configure-gcc > ${LOGDIR}/make.configure-gcc.log 2>&1 || true |
| |
| # hack for 3.3 branch |
| if [ ! -f libiberty/libiberty.a ]; then |
| if [ -d libiberty ]; then |
| # another hack for 3.2! |
| cd libiberty |
| make > ${LOGDIR}/make.libiberty.log 2>&1 || true |
| cd .. |
| else |
| mkdir -p libiberty |
| cd libiberty |
| ln -s ../build-${REG_BLD}/libiberty/libiberty.a . |
| cd .. |
| fi |
| fi |
| |
| cd gcc |
| # REG_COMPILER is cc1, cc1plus, or f951 |
| #msg "make $REG_COMPILER" |
| make $REG_MAKE_J $REG_COMPILER > ${LOGDIR}/make.${REG_COMPILER}.log 2>&1 \ |
| || abort " make failed" |
| msg "build completed" |
| exit 0 |