A number of header files in sys/* have, going back to 7th Edition Unix
in 1979, reqiured other files (like sys/types.h) to compile. Likewise
the 4BSD networking code has had prerequisites. However, going back to
around the turn of the century, other systems have made them be
independently includable (wide-spread header include protection
post-dates 7th edition Unix by maybe 4 or 5 years judging from netnews
sources). Start down the path of making them all independently
includable by creating this test that fails buildworld when they are
not.
The file 'goodfiles.inc' contains a list of the currently working files
that can be included w/o any prerequisites. As files are fixed, 'make
goodfiles.inc' should be re-run to regenerate the list. That target
should never be run when files have broken.