Re: rescue/ broke cross compiles

From: Marcel Moolenaar <marcel_at_xcllnt.net>
Date: Mon, 30 Jun 2003 15:52:06 -0700
On Mon, Jun 30, 2003 at 03:28:20PM -0700, Gordon Tetlow wrote:
> On Tue, Jul 01, 2003 at 01:23:53AM +0300, Ruslan Ermilov wrote:
> > Hi there!
> > 
> > As seen by the latest series of tinderbox failures,
> > the rescue/ stuff breaks cross compiles.  The problem
> > is that some bits like bin/sh have the so-called
> > "build tools".  These are small utilities not normally
> > visible in the world except during the build stage.
> > As such, "make buildworld" builds them in the native
> > host's environment (using the host compiler, headers,
> > libraries, and binutils).  The /rescue should have
> > such a target too (build-tools), that would in effect
> > call the build-tools targets in all makefiles that
> > have it, e.g. bin/sh/Makefile.
> 
> I'm the first to admit my Make-foo is lacking. I'm not sure
> I understand why /rescue needs build-tools bits. Can you help
> enlighten me?

Since you create a seperate object tree for rescue, you need to
go through the same phases as a world does. That way tools (like
build-tools) will be compiled against the right headers and linked
against the right libraries (in both cases those of the machine
on which the tool runs).

Unfortunately, it's not that simple. There's a deliberate phase
ordering that makes sure that we don't pick up cross-tools before
we're ready for them. Since rescue is built *after* the cross-
tools are installed, you'll have a hard time resolving the phase
ordering problem.

That's why ru_at_ suggested to add a build-tools target. That way you
populate the seperate tree in sync with the phases of a world,
thereby avoiding the phase ordering problem.

FYI,

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel_at_xcllnt.net
Received on Mon Jun 30 2003 - 13:52:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:13 UTC