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