Subject: Re: Problem with make DESTDIR=...
To: NetBSD-current Users <current-users@NetBSD.ORG>
From: Curt Sampson <cjs@portal.ca>
List: current-users
Date: 01/08/1997 15:34:27
It's ocurred to me that, since we're thinking about changing the
build process anyway, it might be worthwhile abandoning the symlinks
in the source tree altogether. It would work like this:

If we are in BSDSRCDIR:

* If BSDOBJDIR is not set, we print a warning.

* If it is set, we first try to build in ${BSDOBJDIR}.${MACHINE_ARCH}.
If that doesn't exist, we try ${BSDOBJDIR}. If that fails too, we
print an error and die. As well as absolute paths, appropriately
modfied with the current path with $BSDSRCDIR removed, we would
allow relative paths and build directly there, without referring
to BSDSRCDIR at all.

* `Make obj' would still make the object tree based on ${BSDOBJDIR},
but would not make symlinks in the source tree.

This would give us the ability to do everything we do now, by
setting BSDOBJDIR to `.', `obj', or `/usr/obj' depending on whether
we want to build in the source tree, in obj directories in the
source tree, or in a separate tree. It's also less confusing and
a bit more orthoginal than our current system with BSDOBJDIR used
only by `make obj,' and OBJMACHINE and USR_OBJMACHINE needed to
determine whether the obj.machine_arch directories are used or not.

This would also let us build from read-only source trees that don't
have the appropriate obj directories already in them.

What are the disadvantages of this scheme?

cjs

Curt Sampson    cjs@portal.ca		Info at http://www.portal.ca/
Internet Portal Services, Inc.	
Vancouver, BC   (604) 257-9400		De gustibus, aut bene aut nihil.