Preliminary restructuring layout (was Re: sys/ tree re-structuring proposal)
dillon at apollo.backplane.com
Thu Aug 7 01:26:07 PDT 2003
Here's an update. I'm about 70% done. I can build a GENERIC kernel,
minus the modules. Tomorrow I'm going to get it all the way so I can
build LINT (minus the modules), and probably commit that, because the
patch set is getting pretty horrendous... 30,000 lines so far, mostly
due to rewiring the #include directives.
I've also been doing several major cleanups. The first is that somebody
in the FreeBSD project, in the past, added the -I- option to the kernel
build (gcc) in order to distinguish between config-generated header
files in the compile/XXX directory and header files named the
same thing in the dev/ directories, which makes it impossible to use
source-relative #include's. I decided that that needed fixing so I am
making config name the header files use_*.h instead of *.h and then
relocalizing the #include lines as appropriate in the main source tree.
It will take another day or two to get the module build working again
so modules will be broken for a day or so after the first commit. I am
doing another huge cleanup there too... basically removing the entire
modules/ subhierarchy (which contained nothing but Makefile's for the
most part) and reintegrating the module build into the main kernel
directory hierarchy. Everything that can be a module will have its own
subdirectory, e.g. all the if_* driver files will each have their
own directory, for example, which is very similar to how the base system
build already works so I consider it an improvement.
And, third, I have removed all the /usr/include dependancies from the
kernel build, so the kernel Makefile's doesn't have to have the
"../../src/include or /usr/include" hack, and also so an out-of-sync
/usr/include doesn't cause the kernel compile to blow up.
More information about the Kernel