From owner-freebsd-current@FreeBSD.ORG Mon Jun 30 15:52:10 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 745F437B401; Mon, 30 Jun 2003 15:52:10 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F38443FAF; Mon, 30 Jun 2003 15:52:09 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from ns1.xcllnt.net (localhost [127.0.0.1]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h5UMq7DZ057940; Mon, 30 Jun 2003 15:52:07 -0700 (PDT) (envelope-from marcel@ns1.xcllnt.net) Received: (from marcel@localhost) by ns1.xcllnt.net (8.12.9/8.12.9/Submit) id h5UMq6hn057939; Mon, 30 Jun 2003 15:52:06 -0700 (PDT) Date: Mon, 30 Jun 2003 15:52:06 -0700 From: Marcel Moolenaar To: Gordon Tetlow Message-ID: <20030630225206.GA57854@ns1.xcllnt.net> References: <20030630222353.GH57432@sunbay.com> <20030630222820.GV70590@roark.gnf.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030630222820.GV70590@roark.gnf.org> User-Agent: Mutt/1.5.1i cc: current@freebsd.org cc: Tim Kientzle Subject: Re: rescue/ broke cross compiles X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jun 2003 22:52:10 -0000 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@ 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@xcllnt.net