Subject: Re: problems with arpa/inet.h
To: None <current-users@NetBSD.ORG>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: current-users
Date: 06/09/1998 08:03:07
>> My position is: every include file should be includeable on its own,
>> independent of what may be necessary to use any particular facility
>> that the file may provide (partial) support for.

> So, just how much time does your system spend reading the same
> headers over and over while rebuilding the world?

A nontrivial amount, probably, though I haven't instrumented a build
enough to tell.

Little to none of it can I attribute to multiple inclusion, though,
because (as mentioned in another message) we use GNU cpp, which
short-circuits multiple includes of files protected by the canonical
#ifndef/#endif wrapper - or at least is documented as so doing; I
haven't verified it myself.

But I have just this to ask: where were you with these arguments when
the build process was changed to walk the entire source tree doing a
"make includes", instead of knowing where the installable includes
live?  In my off-the-cuff estimate, that takes more time than multiple
reading of multiply included headers would (especially since such
headers will usually hit the buffer cache).

Yeah, it's a correctness issue -- so is this.

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B