Subject: Re: Toolchain Update (27-Nov-2001)
To: Robert Elz <kre@munnari.OZ.AU>
From: Todd Vierling <tv@wasabisystems.com>
List: tech-toolchain
Date: 12/01/2001 11:12:31
On Fri, 30 Nov 2001, Robert Elz wrote:

:   | This methodology is new, but the concept of "don't litter a tree with alien
:   | sources" is common to all software projects with which I am familiar.
:
: Turns out that it also most probably isn't just alien sources ...
:
: fuchsia$ cd /usr/src/usr.bin/find
: fuchsia$ make
: /usr/src/tools/tools.NetBSD-1.5Y-i386/bin/i386--netbsdelf-gcc -O2  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Werror   -I/usr/src/usr.bin/find/../../bin/ls   -nostdinc -idirafter /usr/include -c find.c
: make: Exec of `/usr/src/tools/tools.NetBSD-1.5Y-i386/bin/i386--netbsdelf-gcc' failed (No such file or directory)

This is the intentional behavior.  USETOOLS defaults to "yes" in a full
"src" tree.  If you don't have a complete "src" tree (just a partial one),
USETOOLS defaults to "no".

: I think that being able to simply cd to a random source directory, and
: run "make" is something that should work .. and brings me back to the
: suggestion I made in the first message I sent on this topic:  It seems
: totally insane to select a compiler to use, when that compiler doesn't
: exist.

It chooses USETOOLS=yes on a full tree so as to require that the src/tools
build tools be installed for any build of [segments of] a complete "src"
tree.  This was chosen to provide a consistent way to build all components;
hence....

:   It can't be too hard to test - the path to where the compiler would
: be placed is known.   If there is no file of that name, then surely the
: regular installed compiler should just be used?

We don't want this kind of irregularity.  If the src/tools compiler gets
used if it's installed, and is skipped if it's not, how do we have any kind
of consistency between builds?

This was discussed at excruciating length on tech-toolchain over a month
ago.  The concensus was that, if a "src" tree is complete, then the user
will intend to build large portions, or all, of the tree at some point.  To
provide consistency between builds, such trees default to using the
src/tools toolchain.

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