Home | History | Annotate | Line # | Download | only in bin
gcc-build-simple revision 1.1.1.1
      1  1.1  mrg #! /bin/sh
      2  1.1  mrg 
      3  1.1  mrg # Build a GCC compiler, using environment variables defined by several
      4  1.1  mrg # reghunt scripts and config files.
      5  1.1  mrg #
      6  1.1  mrg # This doesn't work for sources earlier than about 2003-02-25.
      7  1.1  mrg #
      8  1.1  mrg # Copyright (C) 2007 Free Software Foundation.
      9  1.1  mrg #
     10  1.1  mrg # This file is free software; you can redistribute it and/or modify
     11  1.1  mrg # it under the terms of the GNU General Public License as published by
     12  1.1  mrg # the Free Software Foundation; either version 3 of the License, or
     13  1.1  mrg # (at your option) any later version.
     14  1.1  mrg #
     15  1.1  mrg # This program is distributed in the hope that it will be useful,
     16  1.1  mrg # but WITHOUT ANY WARRANTY; without even the implied warranty of
     17  1.1  mrg # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     18  1.1  mrg # GNU General Public License for more details.
     19  1.1  mrg #
     20  1.1  mrg # For a copy of the GNU General Public License, write the the
     21  1.1  mrg # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
     22  1.1  mrg # Boston, MA 02111-1301, USA.
     23  1.1  mrg 
     24  1.1  mrg ID="${1}"
     25  1.1  mrg LOGDIR=${REG_BUILDDIR}/logs/${BUGID}/${ID}
     26  1.1  mrg mkdir -p $LOGDIR
     27  1.1  mrg 
     28  1.1  mrg msg() {
     29  1.1  mrg     echo "`date`  ${1}"
     30  1.1  mrg }
     31  1.1  mrg 
     32  1.1  mrg abort() {
     33  1.1  mrg     msg "${1}"
     34  1.1  mrg     exit 1
     35  1.1  mrg }
     36  1.1  mrg 
     37  1.1  mrg msg "building $REG_COMPILER for id $ID"
     38  1.1  mrg 
     39  1.1  mrg rm -rf $REG_OBJDIR
     40  1.1  mrg mkdir $REG_OBJDIR
     41  1.1  mrg cd $REG_OBJDIR
     42  1.1  mrg 
     43  1.1  mrg #msg "configure"
     44  1.1  mrg ${REG_GCCSRC}/configure \
     45  1.1  mrg     --prefix=$REG_PREFIX \
     46  1.1  mrg     --enable-languages=$REG_LANGS \
     47  1.1  mrg     $REG_CONFOPTS \
     48  1.1  mrg   > configure.log 2>&1 || abort "  configure failed"
     49  1.1  mrg 
     50  1.1  mrg #msg "make libraries"
     51  1.1  mrg make all-build-libiberty > ${LOGDIR}/make.all-build-libiberty.log 2>&1 || true
     52  1.1  mrg make all-libcpp > ${LOGDIR}/make.all-libcpp.log 2>&1 || true
     53  1.1  mrg make all-libdecnumber > ${LOGDIR}/make.all-libdecnumber.log 2>&1 || true
     54  1.1  mrg make all-intl > ${LOGDIR}/make.all-intl.log 2>&1 || true
     55  1.1  mrg make all-libbanshee > ${LOGDIR}/make.all-libbanshee.log 2>&1 || true
     56  1.1  mrg make configure-gcc > ${LOGDIR}/make.configure-gcc.log  2>&1 || true
     57  1.1  mrg 
     58  1.1  mrg # hack for 3.3 branch
     59  1.1  mrg if [ ! -f libiberty/libiberty.a ]; then
     60  1.1  mrg   if [ -d libiberty ]; then
     61  1.1  mrg     # another hack for 3.2!
     62  1.1  mrg     cd libiberty
     63  1.1  mrg     make > ${LOGDIR}/make.libiberty.log 2>&1 || true
     64  1.1  mrg     cd ..
     65  1.1  mrg   else
     66  1.1  mrg     mkdir -p libiberty
     67  1.1  mrg     cd libiberty
     68  1.1  mrg     ln -s ../build-${REG_BLD}/libiberty/libiberty.a .
     69  1.1  mrg     cd ..
     70  1.1  mrg   fi
     71  1.1  mrg fi
     72  1.1  mrg 
     73  1.1  mrg cd gcc
     74  1.1  mrg # REG_COMPILER is cc1, cc1plus, or f951
     75  1.1  mrg #msg "make $REG_COMPILER"
     76  1.1  mrg make $REG_MAKE_J $REG_COMPILER > ${LOGDIR}/make.${REG_COMPILER}.log 2>&1 \
     77  1.1  mrg   || abort "  make failed"
     78  1.1  mrg msg "build completed"
     79  1.1  mrg exit 0
     80