From owner-freebsd-current Tue Jan 12 12:44:34 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA08894 for freebsd-current-outgoing; Tue, 12 Jan 1999 12:44:34 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from cimlogic.com.au (cimlog.lnk.telstra.net [139.130.51.31]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA08889 for ; Tue, 12 Jan 1999 12:44:31 -0800 (PST) (envelope-from jb@cimlogic.com.au) Received: (from jb@localhost) by cimlogic.com.au (8.9.1/8.9.1) id HAA08298; Wed, 13 Jan 1999 07:45:25 +1100 (EST) (envelope-from jb) From: John Birrell Message-Id: <199901122045.HAA08298@cimlogic.com.au> Subject: Re: /usr/obj/elf, /usr/obj/aout, /usr/obj - breaks make all vs make buildworld, and other things. Time to make elf the default In-Reply-To: <199901121837.UAA03327@zibbi.mikom.csir.co.za> from John Hay at "Jan 12, 1999 8:37: 5 pm" To: jhay@mikom.csir.co.za (John Hay) Date: Wed, 13 Jan 1999 07:45:25 +1100 (EST) Cc: bde@zeta.org.au, current@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG John Hay wrote: > > It was a feature to build the world in a separate subdirectory. > > Was the "feature" on purpose or was it just the way it was done? My > impression is that it was done to seperate the elf and aout objects > during the first elf transition and when there still might have been > aout files lying around from before the aouts were compiled in the > aout subdirectory. It was done to ensure that the elf build didn't see any turds from previous aout builds. This still applies to people upgrading from 2.2.X or 3.0-CURRENT pre 3.0-RELEASE (ugh what stupid numbering we have!). I wanted to modify `make' to treat all object directories that way (instead of using the existing MAKEOBJDIRPREFIX), but I didn't want to add the object format checking code without a library function (to avoid duplicating code all over the tree). I convinced jdp to add getobjformat(3) to libc, however the timing was too close to 3.0-RELEASE to make the change. We regularly see people complaining about build problems that are the result of them doing a make in specific directories outside a make world. I think that the number of developers who want make world to share the object directories with their individual makes out-weighs my desire to stop people shooting themselves in the foot (when they probably shouldn't be using -current anyway). > Hmmm. Another option might be to make MAKEOBJDIRPREFIX=/usr/obj/elf > the default, so that it will also be used by normal make. Although > I don't like this so much, because when we finally get rid of all > the aout things, we will sit with an unnecessary elf directory in > the /usr/obj directory. Another reason why I wanted the extra object directory level was to help support cross-compilation. I don't like the NetBSD way of creating obj.i386 etc directories. I was hoping to be able to set OBJFORMAT to alpha-elf64 (for instance) on i386 and have that build the world in /usr/obj/alpha-elf64. Support for this would still require lots of changes to other makefiles which check OBJFORMAT==elf. Since most people only care about i386 (and to a lesser extent alpha), I doubt that the cross-compilation issues are worth considering at this point. People are too ready to shoot down any new ideas. -- John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/ CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message