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