From owner-cvs-all Thu Aug 20 19:23:12 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA15233 for cvs-all-outgoing; Thu, 20 Aug 1998 19:23:12 -0700 (PDT) (envelope-from owner-cvs-all) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.15.68.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA15226; Thu, 20 Aug 1998 19:23:02 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id MAA15510; Fri, 21 Aug 1998 12:22:21 +1000 Date: Fri, 21 Aug 1998 12:22:21 +1000 From: Bruce Evans Message-Id: <199808210222.MAA15510@godzilla.zeta.org.au> To: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, jb@FreeBSD.ORG Subject: Re: cvs commit: src/gnu/usr.bin/cc/cc_tools Makefile Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > Modified files: > gnu/usr.bin/cc/cc_tools Makefile > Log: > Make the build tools static to avoid trying to use the shared loader > before it is installed. > > This upsets Bruce because the host boostrap build forces tools to be > static anyway. He says I'm abusing NOTOOLS in src/Makefile by using > it to do a aout->elf transition build. One day I'll find a place to > install host tools like these to allow a true cross build. You certainly are abusing NOTOOLS. NOTOOLS is only for saving time in non-cross builds. Most tools are cross tools (although the current Makefile doesn't really support building them as such). Defining NOTOOLS should give *no* tools (and failure of the build when the first missing tool is invoked). However, most tools are created by `make all', so if they haven't already been created as cross-tools by the `make build-tools' step, then they will be created as target tools later. Target tools normally don't run unless target == host, but in the special case of host == i386-aout and target == i386-elf, they apparently work if they are built static. To get them built static, you should use `NOSHARED=yes make world' instead of hacking dozens of Makefiles. This builds everything static, which is good enough for bootstrapping. Bruce