From owner-freebsd-current Tue Jun 25 10:09:00 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id KAA18235 for current-outgoing; Tue, 25 Jun 1996 10:09:00 -0700 (PDT) Received: from time.cdrom.com (time.cdrom.com [204.216.27.226]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id KAA18228 for ; Tue, 25 Jun 1996 10:08:59 -0700 (PDT) Received: from time.cdrom.com (localhost [127.0.0.1]) by time.cdrom.com (8.7.5/8.6.9) with ESMTP id KAA19069; Tue, 25 Jun 1996 10:08:23 -0700 (PDT) To: Bruce Evans cc: freebsd-current@FreeBSD.org, nate@sri.MT.net Subject: Re: Building inside of /usr/src? In-reply-to: Your message of "Wed, 26 Jun 1996 02:50:48 +1000." <199606251650.CAA16299@godzilla.zeta.org.au> Date: Tue, 25 Jun 1996 10:08:23 -0700 Message-ID: <19067.835722503@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > >WRONG. This is not how it works now! I don't know what this weird > > This is exactly how it works now. Have you tried it? :-). No, you misunderstood (and I was ambiguous) - I meant "This is not the way the system works now and your obj directory has no meaning." > Building things in /usr/src is only slightly broken. Building elsewhere > is completely broken. My example builds in /tmp just because paths like > /home/bde wouldn't be portable. Uh.. root@time-> cd /usr/tmp root@time-> cvs co cat cvs checkout: Updating cat U cat/Makefile U cat/cat.1 U cat/cat.c root@time-> cd cat root@time-> make obj /usr/obj/usr/tmp/cat created for /usr/tmp/cat root@time-> make cc -O2 -m486 -pipe -c /usr/tmp/cat/cat.c cc -O2 -m486 -pipe -o cat cat.o gzip -c /usr/tmp/cat/cat.1 > cat.1.gz root@time-> ls CVS Makefile cat.1 cat.c Looks good to me! Yes, /usr/obj/usr/tmp/cat is perfectly correct, too. > It will normally fail because normal users won't have write permission > in /usr/obj, and in any case it only applies for building standard If normal users want to build sources like this then they should probably either not use obj (same problem existed before after all, they just had the option of "fixing" it differently) or they should set MAKEOBJDIR to point to a hierarchy where they DO have write permission. > There is no reason to break the old behaviour. If you want to break > it, break it properly by removing the builtin /usr/obj path which is > at best right for building /usr/src. Where would you recommend I set it then? I don't like putting it in make either, it was simply the least invasive change to modify the meaning of MAKEOBJDIR and adjust _PATH_OBJDIR to match. If you want to eliminate the default value entirely then I guess we could set it in sys.mk - would that make you happier? :-) Jordan