Subject: Re: build.sh failure?
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Todd Vierling <tv@wasabisystems.com>
List: tech-userlevel
Date: 04/29/2002 13:43:46
On Sat, 27 Apr 2002, der Mouse wrote:

: >> cc  -O -o nbmake *.o
: >> BSDOBJDIR /usr/obj does not exist, bailing...
:
: > BSDSRCDIR defaults to /usr/src.  If that path matches the front of
: > $PWD, you get the Magical BSDOBJDIR handling (and you have to create
: > /usr/obj my hand as a sanity check to make sure you really want this
: > type of objdir handling).
:
: > This has been around for ~years, so unfortunately, its functionality
: > cannot simply be yanked.
:
: Does _all_ its functionality have to be preserved?  Would it be
: acceptable to have the "sanity check", when it fails, disable BSDOBJDIR
: handling (as if `pwd` didn't begin with /usr/src) rather than bombing
: the build?

This is even more indeterminate.  If you build with this "fallback" and then
add /usr/obj later, the build system will get really confusing when it tries
to create the symlinks in place of the existing obj directories under
/usr/src.  The sanity check removes the ambiguity -- if the
BSDSRCDIR->BSDOBJDIR rewrite would kick in, it makes sure BSDOBJDIR exists
before building.

This has been the topic of past heated threads, and there are people who
Really Want the /usr/src->/usr/obj historic handling to remain.  So it can't
simply be pulled without some real discussion.

: Also, it's functionality may be yankable for the system in question;
: how would I go about doing that?  Or is that too complicated to explain
: simply?

Simple answer:  change your value of BSDSRCDIR to a nonexistent path.  That
yanks the functionality in the cleanest manner.

(I don't recommend hacking bsd.obj.mk, as I plan to give that whole file a
facelift in the near future.)

-- 
-- Todd Vierling <tv@wasabisystems.com>  *  Wasabi & NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/