On Fri, Jan 13, 2006 at 05:15:40PM -0500, Jason Merrill wrote:
> Paolo Bonzini wrote:
> >
> >>So, how would I now get a cc1plus/f951/jc1/cc1 binary compiled by the 
> >>stage0 (host) compiler?
> 
> >make stage1-bubble STAGE1_LANGUAGES=c,c++,fortran,java
> 
> Wow, that's awkward.
> 
> >I think that after I fix PR25670, as a side effect, you will also be 
> >able to use the more intuitive target "all-stage1".  But I didn't think 
> >of that PR much closely because it is about a target that was anyway 
> >undocumented, and there are bigger fish to fry.
> 
> Remind me why it's a good idea to force me to mess with bootstrapping at 
> all, when all I want is to build a copy of the compiler that I can use 
> for debugging problems?  There has to be an easier way to do that.  My 
> laptop builds stage1 reasonably fast, but a bootstrap takes several hours.
> 
> This is a serious regression for me.

If all you want is cc1plus/f951/cc1, here's what I use for regression
hunts (I haven't tried it with jc1).  It works for cross compilers, too.

#! /bin/sh

# This doesn't work earlier than about 2003-02-25.

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
  mkdir -p libiberty
  cd libiberty
  ln -s ../build-${REG_BLD}/libiberty/libiberty.a .
  cd ..
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

Reply via email to