Preliminary restructuring layout (was Re: sys/ tree re-structuring proposal)

Matthew Dillon dillon at
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 mailing list