Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Mar 1997 05:42:35 -0600
From:      Richard Wackerbarth <rkw@dataplex.net>
To:        Nate Williams <nate@mt.sri.com>
Cc:        Terry Lambert <terry@lambert.org>, msmith@atrad.adelaide.edu.au (Michael Smith), freebsd-platforms@freebsd.org, jkh@time.cdrom.com
Subject:   Re: Kernel layout reshuffle (Was: Re: FAQ?)
Message-ID:  <l03010d0caf4c3db0ce69@[208.2.87.4]>
In-Reply-To: <199703120528.WAA10606@rocky.mt.sri.com>
References:  <199703120145.SAA26524@phaeton.artisoft.com> <199703120044.LAA19489@genesis.atrad.adelaide.edu.au> <199703120145.SAA26524@phaeton.artisoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Nate Williams writes about Terry's comments:

>you're doing it with Richard's (which is/was keep
>the build tree only dependant on the sources in the build tree, which
>may in fact break multi-platform support), and many others projects.

Nate, I think that you here understate what I have proposed.

1) I propose that the act of building a new system MUST NOT
   alter the underlying system environment of the system on
   which it is built. Since the target system is, in the
   general case, a different machine from the host on which
   the build is performed, the sources which go into the
   final build must come from a source which is totally
   independent of the host.

2) Because the build may depend on "tools" which are not
   present/(the same) on the host, it will be necessary
   to build these tools in order to successfully accomplish
   the build. This preliminary stage is different from the
   final build in that they are intended to run in a crossover
   mode. They run on the host, but generate results for the
   target. In order to generate these crossover tools, it is
   necessary to separate host and target aspects of a program.
   The makedepend kind of program is a good example of this
   kind of situation. This program must read directories
   and files on the host system but parse the contents of those
   files in the context of the target. However, the output
   must be directed toward the crossover "make" which could
   be a still different context. In the general case, this
   separation can be most difficult to accomplish in order
   to maintain cross platform operatibility. This is particularly
   true of the FreeBSD project because many of the developers
   are not accustomed to working in a shared user environment,
   much less a cross platform one. When you operate in a single
   user, trash the host, there's no turning back mode, the
   distinction between the three modes disappears. That,
   unfortunately, is the present situation.

3) The other part of my proposal deals with breaking the attitude
   that "there is only one" source and target.  Whether shared
   between multiple users or the same user working on multiple
   projects, we need a scheme that allows them to co-exist on
   the same host.  Further, it is desirable to allow for the
   sharing of common source (and perhaps, object) code.

Rather than "breaking" multi-platform support, I think that my
proposals are necessary to allow reasonable use of a
multi-platform source base.






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?l03010d0caf4c3db0ce69>