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>