Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Apr 1995 07:04:54 -0500
From:      rkw@dataplex.net (Richard Wackerbarth)
To:        "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com>
Cc:        hackers@FreeBSD.org, current@FreeBSD.org
Subject:   Re: cvs commit: src/sys/i386/conf Makefile.i386
Message-ID:  <v02120b00aba58b6c19d2@[199.183.109.242]>

next in thread | raw e-mail | index | archive | help
Rod Grimes <rgrimes@gndrsh.aac.dev.com> writes :
>>
>> nate        95/04/02 18:13:51
>>
>>   Modified:    sys/i386/conf Makefile.i386
>>   Log:
>>   Added -I/usrinclude to the tail end of the INCLUDES line.  This hack
>>   will cause kernel compiles to work even if the src/includes directory
>>   doesn't exist but still do the 'Right Thing' and pull files from the
>>   source tree if it does exist.
>>
>>   Reviewed by:        Bruce Evans
>
>Humm.. now what happens when these unknowing fools update there
>/usr/src/sys tree and don't update /usr/include to match.  They are
>going to get kernel compiles that fall over, and we are going to
>get bug reports about strange things happening :-(.

I concur. This change is, IMHO, BAD. I will AGAIN suggest that we go the
opposite direction.

I've thought a lot about this structure and have implemented much of it on
my own system. There are more details that I have omitted here, but this is
the jist of my proposal. Responses welcome ...

The source tree should be fully self contained and ALL references MUST be
relative to the root of that tree. Further, the "obj" links are removed
from the source tree and replaced by a parallel object tree that grows from
the root.

This allows us ALL of the following:
1) The compilation of a system does not "trash" the current operating system.
2) The source tree (and much of the object tree) can be read-only.
3) One system can support multiple DIFFERENT versions of the tree at the
same time.
4) "Make world" reduces to little more than a simple "make all" at the top
of the tree. Redundant remakes of the libraries are eliminated.
5) Cross compilation for other platforms becomes possible.

The COST? Each compilation environment MUST have a variable designating the
ROOT of that environment. (Unless you want the default root "/usr")

Now, the question.... Do we (as a community) want this?  Who is in charge here?

I'll be happy to get it working. But to do so, I'll need the support of ALL
the comitters. Basically, I would have to "own" all the Makefiles, make,
and the .mk files.




----
Richard Wackerbarth
rkw@dataplex.net





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