Subject: Re: Doxygen generated documentation
To: Rhialto <>
From: Greywolf <>
List: tech-userlevel
Date: 05/24/2005 12:49:28
 On Mon 23 May 2005 at 18:10:24 -0400, Christos Zoulas wrote:
 > There are instances where we are not allowed to make headers
 > idempotent (assert.h) and others where we cannot make headers self
 > sufficient because of namespace pollution issues. We strive to make
 > headers standards compliant, and that sometimes this gets in the
 > way of convenience. I have seen many examples where programs fail
 > to include required headers (such as <signal.h> when using signals),
 > just because it happens to work on operating systems that include
 > the kitchen-sink when you include a popular header (such as
 > <unistd.h>). This include-all approach actually hurts portability.

Heh.  Speaking of portability, I'm just as glad we're not doing
what Linux did with regard to <sys/errno.h>, for example -- splitting
out all the bits into other places.  I had to visit five different
headers to figure out the mappings for E*.  Under NetBSD (and most
other OSs I have to touch these days), it lives in <sys/errno.h>,
even if the file has become rather large under, e.g., Solaris.  Much
more convenient.

[for the record:  we're not going to do what Linux did, are we?]