Subject: Re: CVS commit: src/sys/sys
To: Matthias Scheler <tron@zhadum.de>
From: Klaus Klein <kleink@reziprozitaet.de>
List: source-changes
Date: 01/04/2004 13:34:22
Matthias Scheler <tron@zhadum.de> writes:

> On Sun, Jan 04, 2004 at 01:16:31AM +0100, Christoph Badura wrote:
> > On Sat, Jan 03, 2004 at 11:29:42PM +0000, Matthias Scheler wrote:
> > > Modified Files:
> > > 	src/sys/sys: sysctl.h
> > > 
> > > Log Message:
> > > Include "sys/param.h" to fix build problems in applications which include
> > > this header file.
> > 
> > why? sysctl(3) explicitly documents the need to include <sys/param.h> before
> > including <sys/sysctl.h>.
> 
> Because it is broken by design if a header file doesn't include header
> files it requires itself.

Those are strong words being used in a weak argument.  There are
several instances of such headers available in NetBSD; all of them are
specific to (Net)BSD thus requiring the application writer to adhere
to the implementation's documentation, and the prerequisite headers
have been mentioned in the documentation ~forever.

> And because this is a regression. The application which failed to
> build because of this can be built without problems under NetBSD
> 1.6.2_RC3.

The sysctl(3) documentation on my netbsd-1-6 system mentions
<sys/param.h> as a prerequsite header for <sys/sysctl.h>.  If this
problem appeared all of a sudden on -current, it looks like it wasn't
(to coin a phrase) a conforming NetBSD application in the first place.


- Klaus