This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Fix unified tree breakage
- From: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- To: Richard Earnshaw <rearnsha at gcc dot gnu dot org>
- Cc: Paolo Bonzini <bonzini at gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>, newlib at sourceware dot org, binutils at sources dot redhat dot com
- Date: Wed, 05 Oct 2005 17:23:10 +0200
- Subject: Re: [PATCH] Fix unified tree breakage
- References: <1128520119.5300.8.camel@pc960.cambridge.arm.com> <4343DDDF.9080606@lu.unisi.ch> <4343DEA5.5080108@lu.unisi.ch> <1128525253.5300.11.camel@pc960.cambridge.arm.com>
2005-10-05 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (all) [gcc-no-bootstrap]: Make prebootstrap packages
before other host packages.
That appears to work, thanks. However, why do you assume this would
only be needed when not doing a bootstrap? OK, it's not common to want
to use a unified tree for that, but there's no reason why it shouldn't
work.
I'm sorry if this is confusing. It will go away as soon as GCC 4.1
branches.
In 4.2, we'll have *toplevel* bootstrap enabled by default. This is
what you saw indicated as "@if gcc-bootstrap", and it means that the
toplevel orchestrates a 3-stage build of libiberty, binutils, and
everything else up to gcc. In this case it will just work because
stage1 will use the system assembler/linker, and stage2/3 will use the
previous stage of the in-tree assembler/linker: there is no need to do
"all-prebootstrap", because the packages in "all-prebootstrap" are all
bootstrapped (together with GCC).
BTW, with toplevel bootstrap, it could make much more sense to use a
unified tree in a native configuration.
For 4.1, you need --enable-bootstrap to enable toplevel bootstrap. But
the default is still non-toplevel bootstrap, and in that case making
"all-prebootstrap" is still handled with dependencies:
$(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
@r=`pwd`; export r; \
etc.
Paolo