Subject: Re: make install and includes vs. domestic
To: None <current-users@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: current-users
Date: 04/11/1999 23:08:54
[ On , April 7, 1999 at 20:49:43 (-0700), Chris G. Demetriou wrote: ]
> Subject: Re: make install and includes vs. domestic
>
> if the build system were 'Right', on a random machine which could
> cross-compile netbsd binaries, you should be able to say "make" once
> and have it produce a complete set of binaries without installing
> anything....  That's one step beyond just 'Good', which is that you
> could build an entire new system without installing anything.  (that'd
> also make compiling upgrades much better.  8-)

If you're going to do this "right" then it should be portable too.
I.e. let the build host be *any* random machine, not just those that can
already cross-compile netbsd binarires.  For example there's really no
reason why such a build system shouldn't automatically bootstrap and
work equally well on any POSIX platform.  In theory it should also be
able to create binaries for *all* targets with one invocation (assuming
you've got the necessary disk space and CPU horsepower and/or patience).

The only reason people often resort to doing builds of applications on
their target systems is because applications often require a tight
integration with the existing environment, but we're not building an
"application" in that sense -- we're building the foundations and
everything we need is in the source tree.  "All" we need to do is take a
step back and look at this as an embedded systems type of project
instead of treating it as a self-hosted development environment.  [;-)]
Never use the host's own tools to do anything but bootstrap the build
tools.  Traditional non- or semi-portable Unix systems could always
assume that the build tools were the same as those in the build-host's
environment, but if you really want to do cross-compilation then you
can't do that to anywhere near the same degree.

I think getting the NetBSD build system to this stage would be an
absolutely wonderful way of teaching a large group of operating system
developers just what software hygiene really is, and the result would
offer an excellent example to the rest of the sofware universe.

We're awfully close to being able to do bootstrap builds, but somehow or
another it seems FreeBSD is always a step ahead on this frontier.

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>