Subject: Re: FYI: more options defop'ted: DDB, network protocols, COMPAT_*
To: Greg A. Woods <woods@most.weird.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: current-users
Date: 07/06/1998 11:26:13
>I only asked if it were necessary to run "make depend" after a config
>run that changed only automatically generated opt_*.h files.
Oh. I misunderstood about changing nothing else but opt_*.h files.
Strictly speaking, the answer may still be "yes", because:
[snip]
> Such a mistake should only happen if someone has #ifdef'ed a
>#include somewhere, and that should not be done for the kernel.)
In fact there's a cliche' in kernel network code which looks like
#include <param.h>
/*... other headers */
#ifdef NS /* xerox
/* include NS external declarations */
#endif
#ifdef NETATALK
/* include NS external declarations */
#endif
That's used in network drivers and CPU-specific softinterrupt
handlers. It means declarations for a given protocol stack are only
present if the protocol is configured. which in turn moves one class
of errors from link-time to compile-time.
Besides, since non-developers can't be expected to _really_ know if
turning on an option that was previously off adds new .o files to
their Makefile or not, I think saying "always rerun make depend" is as
good as we can get.