80 lines
2.2 KiB
Plaintext
80 lines
2.2 KiB
Plaintext
|
#! /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
|