cvs commit: src/sys/conf files

David O'Brien obrien at
Sun Sep 11 10:32:56 PDT 2005

On Sun, Sep 11, 2005 at 04:01:41PM +0200, Max Laier wrote:
> On Sunday 11 September 2005 04:04, David E. O'Brien wrote:
> > obrien      2005-09-11 02:04:04 UTC
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/conf             files
> >   Log:
> >   Don't pollute the entire kernel build with -I$S/contrib/pf.
> >
> >   Revision  Changes    Path
> >   1.1045    +32 -16    src/sys/conf/files
> These changes didn't really improve the readability of conf/files.

Since when was the readability of conf/files a goal?  If it were we
would fix config(8) so the first 100 or so lines was readable.
conf/files is seldomly changed or read.

> I don't understand in what way a global -I "pollutes" the kernel build.
> Unless you can give some reasoning why this -I is such a bad thing, I'd like 
> to see this reverted in order to keep conf/files clean(er) - thanks.

One reason is that we are open to conflicts in header names.
Another is the output from doing a compile is too cluttered, and this
helps quite a bit.
Another is BSD convention is to use a complete include path from
/usr/src/sys.  We don't put
in our kernel Makefile and manage to have all those subsystems buildable
and usable.

A bad precedent was started with the initial ACPICA import by adding a
global -I to the kernel build.  He should have preprocessed the files
before importing them.  Just like we do with things imported into
src/contrib (as documented by FREEBSD-upgrade).  But because we had one
-I that affected 130 files, others later felt it was acceptable to add a
global -I for as little as 4 files that was changing the include path for
1000's of files.

It has been said by many that for a kernel component to be imported, even
into contrib, the code has to be editable so we can adapt it our needs.

I can see some argument in having -I$S/contrib, but beyond that files in
sys/contrib should follow the include conventions in the rest of the sys

> We install these include files so there must not be a conflict anyway.

What pf files are installed in /usr/include?

-- David  (obrien at

More information about the cvs-src mailing list